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 &&& 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 SDFQND0BWP7T35P140LVT (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 SDFQND1BWP7T35P140LVT (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 SDFQND2BWP7T35P140LVT (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 SDFQND4BWP7T35P140LVT (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 SDFQNOPTBD1BWP7T35P140LVT (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 SDFQNOPTBD2BWP7T35P140LVT (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 SDFQNOPTBD4BWP7T35P140LVT (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 SDFQOPTAD1BWP7T35P140LVT (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 SDFQOPTAD2BWP7T35P140LVT (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 SDFQOPTAD4BWP7T35P140LVT (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 SDFQOPTBD1BWP7T35P140LVT (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 SDFQOPTBD2BWP7T35P140LVT (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 SDFQOPTBD4BWP7T35P140LVT (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 SDFSND0BWP7T35P140LVT (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 SDFSND1BWP7T35P140LVT (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 SDFSND2BWP7T35P140LVT (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 SDFSND4BWP7T35P140LVT (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 SDFSNOPTBD1BWP7T35P140LVT (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 SDFSNOPTBD2BWP7T35P140LVT (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 SDFSNOPTBD4BWP7T35P140LVT (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 SDFSNQD0BWP7T35P140LVT (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 SDFSNQD1BWP7T35P140LVT (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 SDFSNQD2BWP7T35P140LVT (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 SDFSNQD4BWP7T35P140LVT (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 SDFSNQOPTBD1BWP7T35P140LVT (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 SDFSNQOPTBD2BWP7T35P140LVT (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 SDFSNQOPTBD4BWP7T35P140LVT (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 SDFSYNCND1BWP7T35P140LVT (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 SDFSYNCND2BWP7T35P140LVT (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 SDFSYNCND4BWP7T35P140LVT (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 SDFSYNCNQD1BWP7T35P140LVT (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 SDFSYNCNQD2BWP7T35P140LVT (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 SDFSYNCNQD4BWP7T35P140LVT (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 SDFSYNCSND1BWP7T35P140LVT (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 SDFSYNCSND2BWP7T35P140LVT (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 SDFSYNCSND4BWP7T35P140LVT (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 SDFSYNCSNQD1BWP7T35P140LVT (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 SDFSYNCSNQD2BWP7T35P140LVT (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 SDFSYNCSNQD4BWP7T35P140LVT (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 SDFSYND1BWP7T35P140LVT (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 SDFSYND2BWP7T35P140LVT (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 SDFSYND4BWP7T35P140LVT (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 SDFSYNQD1BWP7T35P140LVT (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 SDFSYNQD2BWP7T35P140LVT (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 SDFSYNQD4BWP7T35P140LVT (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 SDFSYNQND1BWP7T35P140LVT (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 SDFSYNQND2BWP7T35P140LVT (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 SDFSYNQND4BWP7T35P140LVT (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 SDFSYNSND1BWP7T35P140LVT (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 SDFSYNSND2BWP7T35P140LVT (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 SDFSYNSND4BWP7T35P140LVT (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 SDFSYNSNQD1BWP7T35P140LVT (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 SDFSYNSNQD2BWP7T35P140LVT (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 SDFSYNSNQD4BWP7T35P140LVT (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 TIEHBWP7T35P140LVT (Z); + output Z; + buf (Z, 1'b1); + +endmodule +`endcelldefine + +`celldefine +module TIELBWP7T35P140LVT (ZN); + output ZN; + buf (ZN, 1'b0); + +endmodule +`endcelldefine + +`celldefine +module XNR2D0BWP7T35P140LVT (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 XNR2D1BWP7T35P140LVT (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 XNR2D2BWP7T35P140LVT (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 XNR2D4BWP7T35P140LVT (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 XNR2OPTND1BWP7T35P140LVT (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 XNR2OPTND2BWP7T35P140LVT (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 XNR2OPTND4BWP7T35P140LVT (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 XNR2OPTND6BWP7T35P140LVT (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 XNR3D0BWP7T35P140LVT (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 XNR3D1BWP7T35P140LVT (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 XNR3D2BWP7T35P140LVT (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 XNR3D4BWP7T35P140LVT (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 XNR3OPTND1BWP7T35P140LVT (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 XNR3OPTND2BWP7T35P140LVT (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 XNR3OPTND4BWP7T35P140LVT (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 XNR4D0BWP7T35P140LVT (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 XNR4D1BWP7T35P140LVT (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 XNR4D2BWP7T35P140LVT (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 XNR4D4BWP7T35P140LVT (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 XOR2D0BWP7T35P140LVT (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 XOR2D1BWP7T35P140LVT (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 XOR2D2BWP7T35P140LVT (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 XOR2D4BWP7T35P140LVT (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 XOR2OPTND1BWP7T35P140LVT (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 XOR2OPTND2BWP7T35P140LVT (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 XOR2OPTND4BWP7T35P140LVT (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 XOR2OPTND6BWP7T35P140LVT (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 XOR3D0BWP7T35P140LVT (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 XOR3D1BWP7T35P140LVT (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 XOR3D2BWP7T35P140LVT (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 XOR3D4BWP7T35P140LVT (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 XOR3OPTND1BWP7T35P140LVT (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 XOR3OPTND2BWP7T35P140LVT (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 XOR3OPTND4BWP7T35P140LVT (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 XOR4D0BWP7T35P140LVT (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 XOR4D1BWP7T35P140LVT (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 XOR4D2BWP7T35P140LVT (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 XOR4D4BWP7T35P140LVT (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 ISOHID1BWP7T35P140LVT (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 ISOHID2BWP7T35P140LVT (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 ISOHID4BWP7T35P140LVT (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 ISOHID8BWP7T35P140LVT (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 ISOLOD1BWP7T35P140LVT (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 ISOLOD2BWP7T35P140LVT (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 ISOLOD4BWP7T35P140LVT (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 ISOLOD8BWP7T35P140LVT (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 ISOSRHID2BWP7T35P140LVT (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 ISOSRHID4BWP7T35P140LVT (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 ISOSRHID8BWP7T35P140LVT (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 ISOSRLOD2BWP7T35P140LVT (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 ISOSRLOD4BWP7T35P140LVT (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 ISOSRLOD8BWP7T35P140LVT (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 LVLHLCD1BWP7T35P140LVT (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 LVLHLCD2BWP7T35P140LVT (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 LVLHLCD4BWP7T35P140LVT (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 LVLHLCD8BWP7T35P140LVT (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 LVLHLCLOD1BWP7T35P140LVT (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 LVLHLCLOD2BWP7T35P140LVT (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 LVLHLCLOD4BWP7T35P140LVT (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 LVLHLCLOD8BWP7T35P140LVT (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 LVLHLD1BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLHLD2BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLHLD4BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLHLD8BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLLHCD1BWP7T35P140LVT (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 LVLLHCD2BWP7T35P140LVT (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 LVLLHCD4BWP7T35P140LVT (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 LVLLHCD8BWP7T35P140LVT (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 LVLLHCLOD1BWP7T35P140LVT (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 LVLLHCLOD2BWP7T35P140LVT (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 LVLLHCLOD4BWP7T35P140LVT (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 LVLLHCLOD8BWP7T35P140LVT (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 LVLLHD1BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLLHD2BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLLHD4BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLLHD8BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLSRLHCD2BWP7T35P140LVT (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 LVLSRLHCD4BWP7T35P140LVT (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 LVLSRLHCD8BWP7T35P140LVT (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 LVLSRLHD2BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLSRLHD4BWP7T35P140LVT (I, Z); + input I; + output Z; + buf (Z, I); + + specify + (I => Z) = (0, 0); + endspecify +endmodule +`endcelldefine + +`celldefine +module LVLSRLHD8BWP7T35P140LVT (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.2/lib/tphn28hpcpgv18.v b/DA4008_V1.3/lib/tphn28hpcpgv18.v similarity index 100% rename from DA4008_V1.2/lib/tphn28hpcpgv18.v rename to DA4008_V1.3/lib/tphn28hpcpgv18.v diff --git a/DA4008_V1.2/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v b/DA4008_V1.3/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v similarity index 100% rename from DA4008_V1.2/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v rename to DA4008_V1.3/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v diff --git a/DA4008_V1.2/model/DEM_Reverse.v b/DA4008_V1.3/model/DEM_Reverse.v similarity index 100% rename from DA4008_V1.2/model/DEM_Reverse.v rename to DA4008_V1.3/model/DEM_Reverse.v diff --git a/DA4008_V1.3/model/DEM_Reverse_64CH.v b/DA4008_V1.3/model/DEM_Reverse_64CH.v new file mode 100644 index 0000000..1a4a2e5 --- /dev/null +++ b/DA4008_V1.3/model/DEM_Reverse_64CH.v @@ -0,0 +1,68 @@ +module DEM_Reverse_64CH ( + input clk + ,input [6:0] msb_pos_in [31:0] + ,input [4:0] lsb_pos_in [31:0] + ,input [6:0] msb_neg_in [31:0] + ,input [4:0] lsb_neg_in [31:0] + ,input vld_in + ,output reg vld_out + ,output reg [7:0] data_out [63:0] +); + +reg [7:0] data_neg_out_rr[31:0]; +reg [7:0] data_pos_out_r [31:0]; +reg [7:0] data_neg_out_r [31: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_pos_in[k] ) + ,.bin_in ( lsb_pos_in[k] ) + ,.data_out ( data_pos_out_r[k] ) + ); + + end + +for(k = 0; k < 32; k = k + 1) begin + DEM_Reverse U_DEM_Reverse ( + .clk ( ~clk ) + ,.therm_in ( msb_neg_in[k] ) + ,.bin_in ( lsb_neg_in[k] ) + ,.data_out ( data_neg_out_r[k] ) + ); + + end + +endgenerate + +generate + + for(k = 0; k < 64; k = k + 1) begin + if(k<32) begin + assign data_out[k] = data_pos_out_r[k]; + end + else begin + assign data_out[k] = data_neg_out_rr[k-32]; + end + + end + + +endgenerate + + +always @(posedge clk) begin + data_neg_out_rr <= data_neg_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.3/model/DW02_mult.v b/DA4008_V1.3/model/DW02_mult.v new file mode 100644 index 0000000..c98e8fb --- /dev/null +++ b/DA4008_V1.3/model/DW02_mult.v @@ -0,0 +1,100 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// This confidential and proprietary software may be used only +// as authorized by a licensing agreement from Synopsys Inc. +// In the event of publication, the following notice is applicable: +// +// (C) COPYRIGHT 1994 - 2018 SYNOPSYS INC. +// ALL RIGHTS RESERVED +// +// The entire notice above must be reproduced on all authorized +// copies. +// +// AUTHOR: KB WSFDB June 30, 1994 +// +// VERSION: Simulation Architecture +// +// DesignWare_version: 714fe7a9 +// DesignWare_release: O-2018.06-DWBB_201806.3 +// +//////////////////////////////////////////////////////////////////////////////// +//----------------------------------------------------------------------------------- +// +// ABSTRACT: Multiplier +// A_width-Bits * B_width-Bits => A_width+B_width Bits +// Operands A and B can be either both signed (two's complement) or +// both unsigned numbers. TC determines the coding of the input operands. +// ie. TC = '1' => signed multiplication +// TC = '0' => unsigned multiplication +// +// FIXED: by replacement with A tested working version +// that not only doesn't multiplies right it does it +// two times faster! +// RPH 07/17/2002 +// Rewrote to comply with the new guidelines +//------------------------------------------------------------------------------ + +module DW02_mult(A,B,TC,PRODUCT); +parameter integer A_width = 8; +parameter integer B_width = 8; + +input [A_width-1:0] A; +input [B_width-1:0] B; +input TC; +output [A_width+B_width-1:0] PRODUCT; + +wire [A_width+B_width-1:0] PRODUCT; + +wire [A_width-1:0] temp_a; +wire [B_width-1:0] temp_b; +wire [A_width+B_width-2:0] long_temp1,long_temp2; + + // synopsys translate_off + //------------------------------------------------------------------------- + // Parameter legality check + //------------------------------------------------------------------------- + + + + initial begin : parameter_check + integer param_err_flg; + + param_err_flg = 0; + + + if (A_width < 1) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter A_width (lower bound: 1)", + A_width ); + end + + if (B_width < 1) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter B_width (lower bound: 1)", + B_width ); + end + + if ( param_err_flg == 1) begin + $display( + "%m :\n Simulation aborted due to invalid parameter value(s)"); + $finish; + end + + end // parameter_check + + +assign temp_a = (A[A_width-1])? (~A + 1'b1) : A; +assign temp_b = (B[B_width-1])? (~B + 1'b1) : B; + +assign long_temp1 = temp_a * temp_b; +assign long_temp2 = ~(long_temp1 - 1'b1); + +assign PRODUCT = ((^(A ^ A) !== 1'b0) || (^(B ^ B) !== 1'b0) || (^(TC ^ TC) !== 1'b0) ) ? {A_width+B_width{1'bX}} : + (TC)? (((A[A_width-1] ^ B[B_width-1]) && (|long_temp1))? + {1'b1,long_temp2} : {1'b0,long_temp1}) + : A * B; + // synopsys translate_on +endmodule + diff --git a/DA4008_V1.3/model/DW_mult_pipe.v b/DA4008_V1.3/model/DW_mult_pipe.v new file mode 100644 index 0000000..a99a7b9 --- /dev/null +++ b/DA4008_V1.3/model/DW_mult_pipe.v @@ -0,0 +1,357 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// This confidential and proprietary software may be used only +// as authorized by a licensing agreement from Synopsys Inc. +// In the event of publication, the following notice is applicable: +// +// (C) COPYRIGHT 2002 - 2018 SYNOPSYS INC. +// ALL RIGHTS RESERVED +// +// The entire notice above must be reproduced on all authorized +// copies. +// +// AUTHOR: Rajeev Huralikoppi Feb 15, 2002 +// +// VERSION: Verilog Simulation Architecture +// +// DesignWare_version: 4e25d03d +// DesignWare_release: O-2018.06-DWBB_201806.3 +// +//////////////////////////////////////////////////////////////////////////////// +//----------------------------------------------------------------------------- +// ABSTRACT: An n stage pipelined multipler simulation model +// +// Parameters Valid Values Description +// ========== ========= =========== +// a_width >= 1 default: none +// Word length of a +// +// b_width >= 1 default: none +// Word length of b +// +// num_stages >= 2 default: 2 +// Number of pipelined stages +// +// stall_mode 0 or 1 default: 1 +// Stall mode +// 0 => non-stallable +// 1 => stallable +// +// rst_mode 0 to 2 default: 1 +// Reset mode +// 0 => no reset +// 1 => asynchronous reset +// 2 => synchronous reset +// +// op_iso_mode 0 to 4 default: 0 +// Type of operand isolation +// If 'stall_mode' is '0', this parameter is ignored and no isolation is applied +// 0 => Follow intent defined by Power Compiler user setting +// 1 => no operand isolation +// 2 => 'and' gate operand isolaton +// 3 => 'or' gate operand isolation +// 4 => preferred isolation style: 'and' +// +// +// Input Ports Size Description +// =========== ==== ============ +// clk 1 Clock +// rst_n 1 Reset, active low +// en 1 Register enable, active high +// tc 1 2's complement control +// a a_width Multiplier +// b b_width Multiplicand +// +// product a_width+b_width Product (a*b) +// +// MODIFIED: +// RJK 05/14/15 Updated model to work with less propagated 'X's +// so as to be more friendly with VCS-NLP +// +// RJK 05/28/13 Updated documentation in comments to properly +// describe the "en" input (STAR 9000627580) +// +// DLL 02/01/08 Enhanced abstract and added "op_iso_mode" parameter +// and related code. +// +// DLL 11/14/05 Changed legality checking of 'num_stages' +// parameter along with its abstract "Valid Values" +// +// +//----------------------------------------------------------------------------- + +module DW_mult_pipe (clk,rst_n,en,tc,a,b,product); + + parameter integer a_width = 2; + parameter integer b_width = 2; + parameter integer num_stages = 2; + parameter integer stall_mode = 1; + parameter integer rst_mode = 1; + parameter integer op_iso_mode = 0; + + + input clk; + input rst_n; + input [a_width-1 : 0] a; + input [b_width-1 : 0] b; + input tc; + input en; + + output [a_width+b_width-1: 0] product; + + reg [a_width-1 : 0] a_reg [0 : num_stages-2]; + reg [b_width-1 : 0] b_reg [0 : num_stages-2]; + reg tc_reg [0 : num_stages-2]; + + // synopsys translate_off + //--------------------------------------------------------------------------- + // Behavioral model + //--------------------------------------------------------------------------- + +generate + if (rst_mode == 0) begin : GEN_RSM_EQ_0 + + if (stall_mode == 0) begin : GEN_RM0_SM0 + always @(posedge clk) begin: rm0_sm0_pipe_reg_PROC + integer i; + + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= a; + b_reg[0] <= b; + tc_reg[0] <= tc; + end else begin + a_reg[i] <= a_reg[i-1]; + b_reg[i] <= b_reg[i-1]; + tc_reg[i] <= tc_reg[i-1]; + end + end // for (i= 0; i < num_stages-1; i++) + end // block: rm0_pipe_reg_PROC + end else begin : GEN_RM0_SM1 + always @(posedge clk) begin: rm0_sm1_pipe_reg_PROC + integer i; + + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= (en == 1'b0)? a_reg[0] : ((en == 1'b1)? a : {a_width{1'bx}}); + b_reg[0] <= (en == 1'b0)? b_reg[0] : ((en == 1'b1)? b : {b_width{1'bx}}); + tc_reg[0] <= (en == 1'b0)? tc_reg[0]: ((en == 1'b1)? tc: 1'bx); + end else begin + a_reg[i] <= (en == 1'b0)? a_reg[i] : ((en == 1'b1)? a_reg[i-1] : {a_width{1'bx}}); + b_reg[i] <= (en == 1'b0)? b_reg[i] : ((en == 1'b1)? b_reg[i-1] : {b_width{1'bx}}); + tc_reg[i] <= (en == 1'b0)? tc_reg[i]: ((en == 1'b1)? tc_reg[i-1]: 1'bx); + end + end + end + end + + end else if (rst_mode == 1) begin : GEN_RM_EQ_1 + + if (stall_mode == 0) begin : GEN_RM1_SM0 + always @(posedge clk or negedge rst_n) begin: rm1_pipe_reg_PROC + integer i; + + if (rst_n == 1'b0) begin + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'b0}}; + b_reg[i] <= {b_width{1'b0}}; + tc_reg[i] <= 1'b0; + end // for (i= 0; i < num_stages-1; i++) + end else if (rst_n == 1'b1) begin + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= a; + b_reg[0] <= b; + tc_reg[0] <= tc; + end else begin + a_reg[i] <= a_reg[i-1]; + b_reg[i] <= b_reg[i-1]; + tc_reg[i] <= tc_reg[i-1]; + end + end // for (i= 0; i < num_stages-1; i++) + end else begin // rst_n not 1'b0 and not 1'b1 + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'bx}}; + b_reg[i] <= {b_width{1'bx}}; + tc_reg[i] <= 1'bx; + end // for (i= 0; i < num_stages-1; i++) + end + end // block: rm1_pipe_reg_PROC + end else begin : GEN_RM1_SM1 + always @(posedge clk or negedge rst_n) begin: rm1_pipe_reg_PROC + integer i; + + if (rst_n == 1'b0) begin + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'b0}}; + b_reg[i] <= {b_width{1'b0}}; + tc_reg[i] <= 1'b0; + end // for (i= 0; i < num_stages-1; i++) + end else if (rst_n == 1'b1) begin + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= (en == 1'b0)? a_reg[0] : ((en == 1'b1)? a : {a_width{1'bx}}); + b_reg[0] <= (en == 1'b0)? b_reg[0] : ((en == 1'b1)? b : {b_width{1'bx}}); + tc_reg[0] <= (en == 1'b0)? tc_reg[0]: ((en == 1'b1)? tc: 1'bx); + end else begin + a_reg[i] <= (en == 1'b0)? a_reg[i] : ((en == 1'b1)? a_reg[i-1] : {a_width{1'bx}}); + b_reg[i] <= (en == 1'b0)? b_reg[i] : ((en == 1'b1)? b_reg[i-1] : {b_width{1'bx}}); + tc_reg[i] <= (en == 1'b0)? tc_reg[i]: ((en == 1'b1)? tc_reg[i-1]: 1'bx); + end + end // for (i= 0; i < num_stages-1; i++) + end else begin // rst_n not 1'b0 and not 1'b1 + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'bx}}; + b_reg[i] <= {b_width{1'bx}}; + tc_reg[i] <= 1'bx; + end // for (i= 0; i < num_stages-1; i++) + end + end // block: rm1_pipe_reg_PROC + end + + end else begin : GEN_RM_GT_1 + + if (stall_mode == 0) begin : GEN_RM2_SM0 + always @(posedge clk) begin: rm2_pipe_reg_PROC + integer i; + + if (rst_n == 1'b0) begin + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'b0}}; + b_reg[i] <= {b_width{1'b0}}; + tc_reg[i] <= 1'b0; + end // for (i= 0; i < num_stages-1; i++) + end else if (rst_n == 1'b1) begin + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= a; + b_reg[0] <= b; + tc_reg[0] <= tc; + end else begin + a_reg[i] <= a_reg[i-1]; + b_reg[i] <= b_reg[i-1]; + tc_reg[i] <= tc_reg[i-1]; + end + end // for (i= 0; i < num_stages-1; i++) + end else begin // rst_n not 1'b0 and not 1'b1 + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'bx}}; + b_reg[i] <= {b_width{1'bx}}; + tc_reg[i] <= 1'bx; + end // for (i= 0; i < num_stages-1; i++) + end + end // block: rm2_pipe_reg_PROC + end else begin : GEN_RM2_SM1 + always @(posedge clk) begin: rm2_pipe_reg_PROC + integer i; + + if (rst_n == 1'b0) begin + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'b0}}; + b_reg[i] <= {b_width{1'b0}}; + tc_reg[i] <= 1'b0; + end // for (i= 0; i < num_stages-1; i++) + end else if (rst_n == 1'b1) begin + for(i= 0; i < num_stages-1; i=i+1) begin + if (i == 0) begin + a_reg[0] <= (en == 1'b0)? a_reg[0] : ((en == 1'b1)? a : {a_width{1'bx}}); + b_reg[0] <= (en == 1'b0)? b_reg[0] : ((en == 1'b1)? b : {b_width{1'bx}}); + tc_reg[0] <= (en == 1'b0)? tc_reg[0]: ((en == 1'b1)? tc: 1'bx); + end else begin + a_reg[i] <= (en == 1'b0)? a_reg[i] : ((en == 1'b1)? a_reg[i-1] : {a_width{1'bx}}); + b_reg[i] <= (en == 1'b0)? b_reg[i] : ((en == 1'b1)? b_reg[i-1] : {b_width{1'bx}}); + tc_reg[i] <= (en == 1'b0)? tc_reg[i]: ((en == 1'b1)? tc_reg[i-1]: 1'bx); + end + end // for (i= 0; i < num_stages-1; i++) + end else begin // rst_n not 1'b0 and not 1'b1 + for (i= 0; i < num_stages-1; i=i+1) begin + a_reg[i] <= {a_width{1'bx}}; + b_reg[i] <= {b_width{1'bx}}; + tc_reg[i] <= 1'bx; + end // for (i= 0; i < num_stages-1; i++) + end + end // block: rm2_pipe_reg_PROC + end + + end +endgenerate + + DW02_mult #(a_width, b_width) + U1 (.A(a_reg[num_stages-2]), + .B(b_reg[num_stages-2]), + .TC(tc_reg[num_stages-2]), + .PRODUCT(product)); + //--------------------------------------------------------------------------- + // Parameter legality check and initializations + //--------------------------------------------------------------------------- + + + initial begin : parameter_check + integer param_err_flg; + + param_err_flg = 0; + + + if (a_width < 1) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter a_width (lower bound: 1)", + a_width ); + end + + if (b_width < 1) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter b_width (lower bound: 1)", + b_width ); + end + + if (num_stages < 2) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter num_stages (lower bound: 2)", + num_stages ); + end + + if ( (stall_mode < 0) || (stall_mode > 1) ) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter stall_mode (legal range: 0 to 1)", + stall_mode ); + end + + if ( (rst_mode < 0) || (rst_mode > 2) ) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter rst_mode (legal range: 0 to 2)", + rst_mode ); + end + + if ( (op_iso_mode < 0) || (op_iso_mode > 4) ) begin + param_err_flg = 1; + $display( + "ERROR: %m :\n Invalid value (%d) for parameter op_iso_mode (legal range: 0 to 4)", + op_iso_mode ); + end + + if ( param_err_flg == 1) begin + $display( + "%m :\n Simulation aborted due to invalid parameter value(s)"); + $finish; + end + + end // parameter_check + + + //--------------------------------------------------------------------------- + // Report unknown clock inputs + //--------------------------------------------------------------------------- + + always @ (clk) begin : clk_monitor + if ( (clk !== 1'b0) && (clk !== 1'b1) && ($time > 0) ) + $display( "WARNING: %m :\n at time = %t, detected unknown value, %b, on clk input.", + $time, clk ); + end // clk_monitor + + // synopsys translate_on +endmodule // diff --git a/DA4008_V1.2/model/DW_pulse_sync.v b/DA4008_V1.3/model/DW_pulse_sync.v similarity index 100% rename from DA4008_V1.2/model/DW_pulse_sync.v rename to DA4008_V1.3/model/DW_pulse_sync.v diff --git a/DA4008_V1.2/model/DW_reset_sync.v b/DA4008_V1.3/model/DW_reset_sync.v similarity index 100% rename from DA4008_V1.2/model/DW_reset_sync.v rename to DA4008_V1.3/model/DW_reset_sync.v diff --git a/DA4008_V1.2/model/DW_stream_sync.v b/DA4008_V1.3/model/DW_stream_sync.v similarity index 100% rename from DA4008_V1.2/model/DW_stream_sync.v rename to DA4008_V1.3/model/DW_stream_sync.v diff --git a/DA4008_V1.2/model/DW_sync.v b/DA4008_V1.3/model/DW_sync.v similarity index 100% rename from DA4008_V1.2/model/DW_sync.v rename to DA4008_V1.3/model/DW_sync.v diff --git a/DA4008_V1.2/model/LVDS_DRIVER.sv b/DA4008_V1.3/model/LVDS_DRIVER.sv similarity index 98% rename from DA4008_V1.2/model/LVDS_DRIVER.sv rename to DA4008_V1.3/model/LVDS_DRIVER.sv index 307bb27..557162a 100644 --- a/DA4008_V1.2/model/LVDS_DRIVER.sv +++ b/DA4008_V1.3/model/LVDS_DRIVER.sv @@ -183,7 +183,7 @@ class lvds_driver; // Send a sequence of 32-bit words (automatically pack into 128-bit blocks, zero-pad if needed) // Parameter words is an array, num_words is the actual number of words (up to 256) //------------------------------------------------------------------------- - task send_words(input int num_words, input [31:0] words[0:255]); + task send_words(input int num_words, input [31:0] words[0:131072]); int word_idx; int j; reg [127:0] block; @@ -254,7 +254,7 @@ class lvds_driver; //------------------------------------------------------------------------- // Send a sequence of scrambled 32-bit words (using fixed scrambler_mask) //------------------------------------------------------------------------- - task send_words_scrambled(input int num_words, input [31:0] words[0:255]); + task send_words_scrambled(input int num_words, input [31:0] words[0:131072]); int word_idx; int j; reg [127:0] block; @@ -280,7 +280,7 @@ class lvds_driver; int num_words = words.size(); bit [31:0] header, addr_len, crc_expected, crc_computed; int data_len; - bit [31:0] data_words[0:255]; // For CRC calculation + bit [31:0] data_words[0:131072]; // For CRC calculation int i; // Basic length check: at least 3 words (header, addr/len, CRC) @@ -363,7 +363,7 @@ class lvds_driver; reg [127:0] block; bit [3:0] mask; int num; - bit [31:0] words_arr[0:255]; + bit [31:0] words_arr[0:131072]; if (!scrambler_en || !auto_detect_header) begin // Fallback to fixed mask transmission @@ -462,7 +462,7 @@ class lvds_driver; return new_crc; endfunction - static function automatic bit [31:0] crc32_compute(input bit [31:0] words[0:255], input int num); + static function automatic bit [31:0] crc32_compute(input bit [31:0] words[0:131072], input int num); bit [31:0] crc = 32'hFFFFFFFF; for (int i = 0; i < num; i++) begin crc = crc32_next(crc, words[i]); diff --git a/DA4008_V1.2/model/SPI_DRIVER.sv b/DA4008_V1.3/model/SPI_DRIVER.sv similarity index 100% rename from DA4008_V1.2/model/SPI_DRIVER.sv rename to DA4008_V1.3/model/SPI_DRIVER.sv diff --git a/DA4008_V1.2/model/clk_gen.v b/DA4008_V1.3/model/clk_gen.v similarity index 100% rename from DA4008_V1.2/model/clk_gen.v rename to DA4008_V1.3/model/clk_gen.v diff --git a/DA4008_V1.2/model/clock_tb.v b/DA4008_V1.3/model/clock_tb.v similarity index 100% rename from DA4008_V1.2/model/clock_tb.v rename to DA4008_V1.3/model/clock_tb.v diff --git a/DA4008_V1.2/model/glbl.v b/DA4008_V1.3/model/glbl.v similarity index 100% rename from DA4008_V1.2/model/glbl.v rename to DA4008_V1.3/model/glbl.v diff --git a/DA4008_V1.2/model/reset_tb.v b/DA4008_V1.3/model/reset_tb.v similarity index 100% rename from DA4008_V1.2/model/reset_tb.v rename to DA4008_V1.3/model/reset_tb.v diff --git a/DA4008_V1.2/model/spi_if.sv b/DA4008_V1.3/model/spi_if.sv similarity index 100% rename from DA4008_V1.2/model/spi_if.sv rename to DA4008_V1.3/model/spi_if.sv diff --git a/DA4008_V1.2/rtl/awg/awg_ctrl.v b/DA4008_V1.3/rtl/awg/awg_ctrl.v similarity index 100% rename from DA4008_V1.2/rtl/awg/awg_ctrl.v rename to DA4008_V1.3/rtl/awg/awg_ctrl.v diff --git a/DA4008_V1.2/rtl/awg/awg_top.sv b/DA4008_V1.3/rtl/awg/awg_top.sv similarity index 100% rename from DA4008_V1.2/rtl/awg/awg_top.sv rename to DA4008_V1.3/rtl/awg/awg_top.sv diff --git a/DA4008_V1.2/rtl/clk/clk_regfile.v b/DA4008_V1.3/rtl/clk/clk_regfile.v similarity index 100% rename from DA4008_V1.2/rtl/clk/clk_regfile.v rename to DA4008_V1.3/rtl/clk/clk_regfile.v diff --git a/DA4008_V1.3/rtl/comm/dout_mux.v b/DA4008_V1.3/rtl/comm/dout_mux.v new file mode 100644 index 0000000..8a8d1da --- /dev/null +++ b/DA4008_V1.3/rtl/comm/dout_mux.v @@ -0,0 +1,79 @@ +//+FHDR-------------------------------------------------------------------------------------------------------- +// Company: +//----------------------------------------------------------------------------------------------------------------- +// File Name : modout_mux.v +// Department : +// Author : PWY +// Author's Tel : +//----------------------------------------------------------------------------------------------------------------- +// Relese History +// Version Date Author Description +// 0.1 2024-05-13 PWY debug top-level +//----------------------------------------------------------------------------------------------------------------- +// Keywords : +// +//----------------------------------------------------------------------------------------------------------------- +// Parameter +// +//----------------------------------------------------------------------------------------------------------------- +// Purpose : +// +//----------------------------------------------------------------------------------------------------------------- +// Target Device: +// Tool versions: +//----------------------------------------------------------------------------------------------------------------- +// Reuse Issues +// Reset Strategy: +// Clock Domains: +// Critical Timing: +// Asynchronous I/F: +// Synthesizable (y/n): +// Other: +//-FHDR-------------------------------------------------------------------------------------------------------- + +module dout_mux #( + parameter PARALLEL = 64 +)( +//system port + input clk // System Main Clock + ,input rst_n // Spi Reset active low + //---------------from ctrl regfile------------------------------------ + ,input [2 :0] sel //3'h0: mix; 3'h1:enve_i; 3'h2:drag_q + // 3'h3: cos ; 3'h4: sin + //data0 + ,input [7:0] data0 [PARALLEL-1 : 0] + ,input data0_vld + //data1 + ,input [7:0] data1 [PARALLEL-1 : 0] + ,input data1_vld + //data2 + ,input [7:0] data2 [PARALLEL-1 : 0] + ,input data2_vld + //mux out data + ,output [7:0] mux_data [PARALLEL-1 : 0] + ,output mux_data_vld +); + +wire mux_data_vld_w = (sel == 3'd1) ? data0_vld: + (sel == 3'd2) ? data1_vld: + (sel == 3'd4) ? data2_vld: + 1'b0 ; + +sirv_gnrl_dffr #(1) mux_data_vld_dffr (mux_data_vld_w, mux_data_vld, clk, rst_n); + +wire [7 :0] mux_data_w [PARALLEL-1 : 0]; + +genvar k; +generate + for(k = 0; k < PARALLEL; k = k + 1) begin + assign mux_data_w[k] = (sel == 3'd1) ? data0[k]: + (sel == 3'd2) ? data1[k]: + (sel == 3'd4) ? data2[k]: + 32'd0 ; + sirv_gnrl_dffr #(8) mux_data_dffr (mux_data_w[k], mux_data[k], clk, rst_n); + end +endgenerate + + +endmodule + diff --git a/DA4008_V1.2/rtl/comm/pulse_generator.sv b/DA4008_V1.3/rtl/comm/pulse_generator.sv similarity index 100% rename from DA4008_V1.2/rtl/comm/pulse_generator.sv rename to DA4008_V1.3/rtl/comm/pulse_generator.sv diff --git a/DA4008_V1.2/rtl/comm/ramp_gen.v b/DA4008_V1.3/rtl/comm/ramp_gen.v similarity index 100% rename from DA4008_V1.2/rtl/comm/ramp_gen.v rename to DA4008_V1.3/rtl/comm/ramp_gen.v diff --git a/DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v b/DA4008_V1.3/rtl/comm/sirv_gnrl_dffs.v similarity index 100% rename from DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v rename to DA4008_V1.3/rtl/comm/sirv_gnrl_dffs.v diff --git a/DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v b/DA4008_V1.3/rtl/comm/sirv_gnrl_xchecker.v similarity index 100% rename from DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v rename to DA4008_V1.3/rtl/comm/sirv_gnrl_xchecker.v diff --git a/DA4008_V1.2/rtl/comm/syncer.v b/DA4008_V1.3/rtl/comm/syncer.v similarity index 100% rename from DA4008_V1.2/rtl/comm/syncer.v rename to DA4008_V1.3/rtl/comm/syncer.v diff --git a/DA4008_V1.2/rtl/dac_regfile/dac_regfile.v b/DA4008_V1.3/rtl/dac_regfile/dac_regfile.v similarity index 100% rename from DA4008_V1.2/rtl/dac_regfile/dac_regfile.v rename to DA4008_V1.3/rtl/dac_regfile/dac_regfile.v diff --git a/DA4008_V1.2/rtl/dacif/dacif.v b/DA4008_V1.3/rtl/dacif/dacif.v similarity index 100% rename from DA4008_V1.2/rtl/dacif/dacif.v rename to DA4008_V1.3/rtl/dacif/dacif.v diff --git a/DA4008_V1.2/rtl/define/chip_define.v b/DA4008_V1.3/rtl/define/chip_define.v similarity index 100% rename from DA4008_V1.2/rtl/define/chip_define.v rename to DA4008_V1.3/rtl/define/chip_define.v diff --git a/DA4008_V1.2/rtl/define/chip_undefine.v b/DA4008_V1.3/rtl/define/chip_undefine.v similarity index 100% rename from DA4008_V1.2/rtl/define/chip_undefine.v rename to DA4008_V1.3/rtl/define/chip_undefine.v diff --git a/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v b/DA4008_V1.3/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v similarity index 100% rename from DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v rename to DA4008_V1.3/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v diff --git a/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v b/DA4008_V1.3/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v similarity index 100% rename from DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v rename to DA4008_V1.3/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v diff --git a/DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv b/DA4008_V1.3/rtl/dem/DEM_PhaseSync_4008.sv similarity index 82% rename from DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv rename to DA4008_V1.3/rtl/dem/DEM_PhaseSync_4008.sv index 93aa317..c7964e5 100644 --- a/DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv +++ b/DA4008_V1.3/rtl/dem/DEM_PhaseSync_4008.sv @@ -3,14 +3,13 @@ module DEM_PhaseSync_4008 ( ,input prbs_en ,input RST_N ,input [14:0] dem_set [63:0] - ,input [7:0] data_in [63:0] - - ,output [6:0] MSB_OUT [63:0] - - ,output [4:0] LSB_OUT [63:0] - - ,output MSB_DUM [63:0] + ,output [6 :0] MSB_POS_OUT [31:0] + ,output [4 :0] LSB_POS_OUT [31:0] + ,output MSB_POS_DUM [31:0] + ,output [6 :0] MSB_NEG_OUT [31:0] + ,output [4 :0] LSB_NEG_OUT [31:0] + ,output MSB_NEG_DUM [31:0] ); @@ -1163,199 +1162,199 @@ always @(negedge clk or negedge RST_N) begin end end -assign MSB_OUT[0 ] = r_MSB_OUT_0 ; -assign MSB_OUT[1 ] = r_MSB_OUT_1 ; -assign MSB_OUT[2 ] = r_MSB_OUT_2 ; -assign MSB_OUT[3 ] = r_MSB_OUT_3 ; -assign MSB_OUT[4 ] = r_MSB_OUT_4 ; -assign MSB_OUT[5 ] = r_MSB_OUT_5 ; -assign MSB_OUT[6 ] = r_MSB_OUT_6 ; -assign MSB_OUT[7 ] = r_MSB_OUT_7 ; -assign MSB_OUT[8 ] = r_MSB_OUT_8 ; -assign MSB_OUT[9 ] = r_MSB_OUT_9 ; -assign MSB_OUT[10] = r_MSB_OUT_10; -assign MSB_OUT[11] = r_MSB_OUT_11; -assign MSB_OUT[12] = r_MSB_OUT_12; -assign MSB_OUT[13] = r_MSB_OUT_13; -assign MSB_OUT[14] = r_MSB_OUT_14; -assign MSB_OUT[15] = r_MSB_OUT_15; -assign MSB_OUT[16] = r_MSB_OUT_16; -assign MSB_OUT[17] = r_MSB_OUT_17; -assign MSB_OUT[18] = r_MSB_OUT_18; -assign MSB_OUT[19] = r_MSB_OUT_19; -assign MSB_OUT[20] = r_MSB_OUT_20; -assign MSB_OUT[21] = r_MSB_OUT_21; -assign MSB_OUT[22] = r_MSB_OUT_22; -assign MSB_OUT[23] = r_MSB_OUT_23; -assign MSB_OUT[24] = r_MSB_OUT_24; -assign MSB_OUT[25] = r_MSB_OUT_25; -assign MSB_OUT[26] = r_MSB_OUT_26; -assign MSB_OUT[27] = r_MSB_OUT_27; -assign MSB_OUT[28] = r_MSB_OUT_28; -assign MSB_OUT[29] = r_MSB_OUT_29; -assign MSB_OUT[30] = r_MSB_OUT_30; -assign MSB_OUT[31] = r_MSB_OUT_31; -assign MSB_OUT[32] = r_MSB_OUT_32; -assign MSB_OUT[33] = r_MSB_OUT_33; -assign MSB_OUT[34] = r_MSB_OUT_34; -assign MSB_OUT[35] = r_MSB_OUT_35; -assign MSB_OUT[36] = r_MSB_OUT_36; -assign MSB_OUT[37] = r_MSB_OUT_37; -assign MSB_OUT[38] = r_MSB_OUT_38; -assign MSB_OUT[39] = r_MSB_OUT_39; -assign MSB_OUT[40] = r_MSB_OUT_40; -assign MSB_OUT[41] = r_MSB_OUT_41; -assign MSB_OUT[42] = r_MSB_OUT_42; -assign MSB_OUT[43] = r_MSB_OUT_43; -assign MSB_OUT[44] = r_MSB_OUT_44; -assign MSB_OUT[45] = r_MSB_OUT_45; -assign MSB_OUT[46] = r_MSB_OUT_46; -assign MSB_OUT[47] = r_MSB_OUT_47; -assign MSB_OUT[48] = r_MSB_OUT_48; -assign MSB_OUT[49] = r_MSB_OUT_49; -assign MSB_OUT[50] = r_MSB_OUT_50; -assign MSB_OUT[51] = r_MSB_OUT_51; -assign MSB_OUT[52] = r_MSB_OUT_52; -assign MSB_OUT[53] = r_MSB_OUT_53; -assign MSB_OUT[54] = r_MSB_OUT_54; -assign MSB_OUT[55] = r_MSB_OUT_55; -assign MSB_OUT[56] = r_MSB_OUT_56; -assign MSB_OUT[57] = r_MSB_OUT_57; -assign MSB_OUT[58] = r_MSB_OUT_58; -assign MSB_OUT[59] = r_MSB_OUT_59; -assign MSB_OUT[60] = r_MSB_OUT_60; -assign MSB_OUT[61] = r_MSB_OUT_61; -assign MSB_OUT[62] = r_MSB_OUT_62; -assign MSB_OUT[63] = r_MSB_OUT_63; +assign MSB_POS_OUT[0 ] = r_MSB_OUT_0 ; +assign MSB_POS_OUT[1 ] = r_MSB_OUT_1 ; +assign MSB_POS_OUT[2 ] = r_MSB_OUT_2 ; +assign MSB_POS_OUT[3 ] = r_MSB_OUT_3 ; +assign MSB_POS_OUT[4 ] = r_MSB_OUT_4 ; +assign MSB_POS_OUT[5 ] = r_MSB_OUT_5 ; +assign MSB_POS_OUT[6 ] = r_MSB_OUT_6 ; +assign MSB_POS_OUT[7 ] = r_MSB_OUT_7 ; +assign MSB_POS_OUT[8 ] = r_MSB_OUT_8 ; +assign MSB_POS_OUT[9 ] = r_MSB_OUT_9 ; +assign MSB_POS_OUT[10] = r_MSB_OUT_10; +assign MSB_POS_OUT[11] = r_MSB_OUT_11; +assign MSB_POS_OUT[12] = r_MSB_OUT_12; +assign MSB_POS_OUT[13] = r_MSB_OUT_13; +assign MSB_POS_OUT[14] = r_MSB_OUT_14; +assign MSB_POS_OUT[15] = r_MSB_OUT_15; +assign MSB_POS_OUT[16] = r_MSB_OUT_16; +assign MSB_POS_OUT[17] = r_MSB_OUT_17; +assign MSB_POS_OUT[18] = r_MSB_OUT_18; +assign MSB_POS_OUT[19] = r_MSB_OUT_19; +assign MSB_POS_OUT[20] = r_MSB_OUT_20; +assign MSB_POS_OUT[21] = r_MSB_OUT_21; +assign MSB_POS_OUT[22] = r_MSB_OUT_22; +assign MSB_POS_OUT[23] = r_MSB_OUT_23; +assign MSB_POS_OUT[24] = r_MSB_OUT_24; +assign MSB_POS_OUT[25] = r_MSB_OUT_25; +assign MSB_POS_OUT[26] = r_MSB_OUT_26; +assign MSB_POS_OUT[27] = r_MSB_OUT_27; +assign MSB_POS_OUT[28] = r_MSB_OUT_28; +assign MSB_POS_OUT[29] = r_MSB_OUT_29; +assign MSB_POS_OUT[30] = r_MSB_OUT_30; +assign MSB_POS_OUT[31] = r_MSB_OUT_31; +assign MSB_NEG_OUT[0 ] = r_MSB_OUT_32; +assign MSB_NEG_OUT[1 ] = r_MSB_OUT_33; +assign MSB_NEG_OUT[2 ] = r_MSB_OUT_34; +assign MSB_NEG_OUT[3 ] = r_MSB_OUT_35; +assign MSB_NEG_OUT[4 ] = r_MSB_OUT_36; +assign MSB_NEG_OUT[5 ] = r_MSB_OUT_37; +assign MSB_NEG_OUT[6 ] = r_MSB_OUT_38; +assign MSB_NEG_OUT[7 ] = r_MSB_OUT_39; +assign MSB_NEG_OUT[8 ] = r_MSB_OUT_40; +assign MSB_NEG_OUT[9 ] = r_MSB_OUT_41; +assign MSB_NEG_OUT[10] = r_MSB_OUT_42; +assign MSB_NEG_OUT[11] = r_MSB_OUT_43; +assign MSB_NEG_OUT[12] = r_MSB_OUT_44; +assign MSB_NEG_OUT[13] = r_MSB_OUT_45; +assign MSB_NEG_OUT[14] = r_MSB_OUT_46; +assign MSB_NEG_OUT[15] = r_MSB_OUT_47; +assign MSB_NEG_OUT[16] = r_MSB_OUT_48; +assign MSB_NEG_OUT[17] = r_MSB_OUT_49; +assign MSB_NEG_OUT[18] = r_MSB_OUT_50; +assign MSB_NEG_OUT[19] = r_MSB_OUT_51; +assign MSB_NEG_OUT[20] = r_MSB_OUT_52; +assign MSB_NEG_OUT[21] = r_MSB_OUT_53; +assign MSB_NEG_OUT[22] = r_MSB_OUT_54; +assign MSB_NEG_OUT[23] = r_MSB_OUT_55; +assign MSB_NEG_OUT[24] = r_MSB_OUT_56; +assign MSB_NEG_OUT[25] = r_MSB_OUT_57; +assign MSB_NEG_OUT[26] = r_MSB_OUT_58; +assign MSB_NEG_OUT[27] = r_MSB_OUT_59; +assign MSB_NEG_OUT[28] = r_MSB_OUT_60; +assign MSB_NEG_OUT[29] = r_MSB_OUT_61; +assign MSB_NEG_OUT[30] = r_MSB_OUT_62; +assign MSB_NEG_OUT[31] = r_MSB_OUT_63; -assign LSB_OUT[0 ] = r_LSB_OUT_0 ; -assign LSB_OUT[1 ] = r_LSB_OUT_1 ; -assign LSB_OUT[2 ] = r_LSB_OUT_2 ; -assign LSB_OUT[3 ] = r_LSB_OUT_3 ; -assign LSB_OUT[4 ] = r_LSB_OUT_4 ; -assign LSB_OUT[5 ] = r_LSB_OUT_5 ; -assign LSB_OUT[6 ] = r_LSB_OUT_6 ; -assign LSB_OUT[7 ] = r_LSB_OUT_7 ; -assign LSB_OUT[8 ] = r_LSB_OUT_8 ; -assign LSB_OUT[9 ] = r_LSB_OUT_9 ; -assign LSB_OUT[10] = r_LSB_OUT_10; -assign LSB_OUT[11] = r_LSB_OUT_11; -assign LSB_OUT[12] = r_LSB_OUT_12; -assign LSB_OUT[13] = r_LSB_OUT_13; -assign LSB_OUT[14] = r_LSB_OUT_14; -assign LSB_OUT[15] = r_LSB_OUT_15; -assign LSB_OUT[16] = r_LSB_OUT_16; -assign LSB_OUT[17] = r_LSB_OUT_17; -assign LSB_OUT[18] = r_LSB_OUT_18; -assign LSB_OUT[19] = r_LSB_OUT_19; -assign LSB_OUT[20] = r_LSB_OUT_20; -assign LSB_OUT[21] = r_LSB_OUT_21; -assign LSB_OUT[22] = r_LSB_OUT_22; -assign LSB_OUT[23] = r_LSB_OUT_23; -assign LSB_OUT[24] = r_LSB_OUT_24; -assign LSB_OUT[25] = r_LSB_OUT_25; -assign LSB_OUT[26] = r_LSB_OUT_26; -assign LSB_OUT[27] = r_LSB_OUT_27; -assign LSB_OUT[28] = r_LSB_OUT_28; -assign LSB_OUT[29] = r_LSB_OUT_29; -assign LSB_OUT[30] = r_LSB_OUT_30; -assign LSB_OUT[31] = r_LSB_OUT_31; -assign LSB_OUT[32] = r_LSB_OUT_32; -assign LSB_OUT[33] = r_LSB_OUT_33; -assign LSB_OUT[34] = r_LSB_OUT_34; -assign LSB_OUT[35] = r_LSB_OUT_35; -assign LSB_OUT[36] = r_LSB_OUT_36; -assign LSB_OUT[37] = r_LSB_OUT_37; -assign LSB_OUT[38] = r_LSB_OUT_38; -assign LSB_OUT[39] = r_LSB_OUT_39; -assign LSB_OUT[40] = r_LSB_OUT_40; -assign LSB_OUT[41] = r_LSB_OUT_41; -assign LSB_OUT[42] = r_LSB_OUT_42; -assign LSB_OUT[43] = r_LSB_OUT_43; -assign LSB_OUT[44] = r_LSB_OUT_44; -assign LSB_OUT[45] = r_LSB_OUT_45; -assign LSB_OUT[46] = r_LSB_OUT_46; -assign LSB_OUT[47] = r_LSB_OUT_47; -assign LSB_OUT[48] = r_LSB_OUT_48; -assign LSB_OUT[49] = r_LSB_OUT_49; -assign LSB_OUT[50] = r_LSB_OUT_50; -assign LSB_OUT[51] = r_LSB_OUT_51; -assign LSB_OUT[52] = r_LSB_OUT_52; -assign LSB_OUT[53] = r_LSB_OUT_53; -assign LSB_OUT[54] = r_LSB_OUT_54; -assign LSB_OUT[55] = r_LSB_OUT_55; -assign LSB_OUT[56] = r_LSB_OUT_56; -assign LSB_OUT[57] = r_LSB_OUT_57; -assign LSB_OUT[58] = r_LSB_OUT_58; -assign LSB_OUT[59] = r_LSB_OUT_59; -assign LSB_OUT[60] = r_LSB_OUT_60; -assign LSB_OUT[61] = r_LSB_OUT_61; -assign LSB_OUT[62] = r_LSB_OUT_62; -assign LSB_OUT[63] = r_LSB_OUT_63; +assign LSB_POS_OUT[0 ] = r_LSB_OUT_0 ; +assign LSB_POS_OUT[1 ] = r_LSB_OUT_1 ; +assign LSB_POS_OUT[2 ] = r_LSB_OUT_2 ; +assign LSB_POS_OUT[3 ] = r_LSB_OUT_3 ; +assign LSB_POS_OUT[4 ] = r_LSB_OUT_4 ; +assign LSB_POS_OUT[5 ] = r_LSB_OUT_5 ; +assign LSB_POS_OUT[6 ] = r_LSB_OUT_6 ; +assign LSB_POS_OUT[7 ] = r_LSB_OUT_7 ; +assign LSB_POS_OUT[8 ] = r_LSB_OUT_8 ; +assign LSB_POS_OUT[9 ] = r_LSB_OUT_9 ; +assign LSB_POS_OUT[10] = r_LSB_OUT_10; +assign LSB_POS_OUT[11] = r_LSB_OUT_11; +assign LSB_POS_OUT[12] = r_LSB_OUT_12; +assign LSB_POS_OUT[13] = r_LSB_OUT_13; +assign LSB_POS_OUT[14] = r_LSB_OUT_14; +assign LSB_POS_OUT[15] = r_LSB_OUT_15; +assign LSB_POS_OUT[16] = r_LSB_OUT_16; +assign LSB_POS_OUT[17] = r_LSB_OUT_17; +assign LSB_POS_OUT[18] = r_LSB_OUT_18; +assign LSB_POS_OUT[19] = r_LSB_OUT_19; +assign LSB_POS_OUT[20] = r_LSB_OUT_20; +assign LSB_POS_OUT[21] = r_LSB_OUT_21; +assign LSB_POS_OUT[22] = r_LSB_OUT_22; +assign LSB_POS_OUT[23] = r_LSB_OUT_23; +assign LSB_POS_OUT[24] = r_LSB_OUT_24; +assign LSB_POS_OUT[25] = r_LSB_OUT_25; +assign LSB_POS_OUT[26] = r_LSB_OUT_26; +assign LSB_POS_OUT[27] = r_LSB_OUT_27; +assign LSB_POS_OUT[28] = r_LSB_OUT_28; +assign LSB_POS_OUT[29] = r_LSB_OUT_29; +assign LSB_POS_OUT[30] = r_LSB_OUT_30; +assign LSB_POS_OUT[31] = r_LSB_OUT_31; +assign LSB_NEG_OUT[0 ] = r_LSB_OUT_32; +assign LSB_NEG_OUT[1 ] = r_LSB_OUT_33; +assign LSB_NEG_OUT[2 ] = r_LSB_OUT_34; +assign LSB_NEG_OUT[3 ] = r_LSB_OUT_35; +assign LSB_NEG_OUT[4 ] = r_LSB_OUT_36; +assign LSB_NEG_OUT[5 ] = r_LSB_OUT_37; +assign LSB_NEG_OUT[6 ] = r_LSB_OUT_38; +assign LSB_NEG_OUT[7 ] = r_LSB_OUT_39; +assign LSB_NEG_OUT[8 ] = r_LSB_OUT_40; +assign LSB_NEG_OUT[9 ] = r_LSB_OUT_41; +assign LSB_NEG_OUT[10] = r_LSB_OUT_42; +assign LSB_NEG_OUT[11] = r_LSB_OUT_43; +assign LSB_NEG_OUT[12] = r_LSB_OUT_44; +assign LSB_NEG_OUT[13] = r_LSB_OUT_45; +assign LSB_NEG_OUT[14] = r_LSB_OUT_46; +assign LSB_NEG_OUT[15] = r_LSB_OUT_47; +assign LSB_NEG_OUT[16] = r_LSB_OUT_48; +assign LSB_NEG_OUT[17] = r_LSB_OUT_49; +assign LSB_NEG_OUT[18] = r_LSB_OUT_50; +assign LSB_NEG_OUT[19] = r_LSB_OUT_51; +assign LSB_NEG_OUT[20] = r_LSB_OUT_52; +assign LSB_NEG_OUT[21] = r_LSB_OUT_53; +assign LSB_NEG_OUT[22] = r_LSB_OUT_54; +assign LSB_NEG_OUT[23] = r_LSB_OUT_55; +assign LSB_NEG_OUT[24] = r_LSB_OUT_56; +assign LSB_NEG_OUT[25] = r_LSB_OUT_57; +assign LSB_NEG_OUT[26] = r_LSB_OUT_58; +assign LSB_NEG_OUT[27] = r_LSB_OUT_59; +assign LSB_NEG_OUT[28] = r_LSB_OUT_60; +assign LSB_NEG_OUT[29] = r_LSB_OUT_61; +assign LSB_NEG_OUT[30] = r_LSB_OUT_62; +assign LSB_NEG_OUT[31] = r_LSB_OUT_63; -assign MSB_DUM[0 ] = r_MSB_DUM_0 ; -assign MSB_DUM[1 ] = r_MSB_DUM_1 ; -assign MSB_DUM[2 ] = r_MSB_DUM_2 ; -assign MSB_DUM[3 ] = r_MSB_DUM_3 ; -assign MSB_DUM[4 ] = r_MSB_DUM_4 ; -assign MSB_DUM[5 ] = r_MSB_DUM_5 ; -assign MSB_DUM[6 ] = r_MSB_DUM_6 ; -assign MSB_DUM[7 ] = r_MSB_DUM_7 ; -assign MSB_DUM[8 ] = r_MSB_DUM_8 ; -assign MSB_DUM[9 ] = r_MSB_DUM_9 ; -assign MSB_DUM[10] = r_MSB_DUM_10; -assign MSB_DUM[11] = r_MSB_DUM_11; -assign MSB_DUM[12] = r_MSB_DUM_12; -assign MSB_DUM[13] = r_MSB_DUM_13; -assign MSB_DUM[14] = r_MSB_DUM_14; -assign MSB_DUM[15] = r_MSB_DUM_15; -assign MSB_DUM[16] = r_MSB_DUM_16; -assign MSB_DUM[17] = r_MSB_DUM_17; -assign MSB_DUM[18] = r_MSB_DUM_18; -assign MSB_DUM[19] = r_MSB_DUM_19; -assign MSB_DUM[20] = r_MSB_DUM_20; -assign MSB_DUM[21] = r_MSB_DUM_21; -assign MSB_DUM[22] = r_MSB_DUM_22; -assign MSB_DUM[23] = r_MSB_DUM_23; -assign MSB_DUM[24] = r_MSB_DUM_24; -assign MSB_DUM[25] = r_MSB_DUM_25; -assign MSB_DUM[26] = r_MSB_DUM_26; -assign MSB_DUM[27] = r_MSB_DUM_27; -assign MSB_DUM[28] = r_MSB_DUM_28; -assign MSB_DUM[29] = r_MSB_DUM_29; -assign MSB_DUM[30] = r_MSB_DUM_30; -assign MSB_DUM[31] = r_MSB_DUM_31; -assign MSB_DUM[32] = r_MSB_DUM_32; -assign MSB_DUM[33] = r_MSB_DUM_33; -assign MSB_DUM[34] = r_MSB_DUM_34; -assign MSB_DUM[35] = r_MSB_DUM_35; -assign MSB_DUM[36] = r_MSB_DUM_36; -assign MSB_DUM[37] = r_MSB_DUM_37; -assign MSB_DUM[38] = r_MSB_DUM_38; -assign MSB_DUM[39] = r_MSB_DUM_39; -assign MSB_DUM[40] = r_MSB_DUM_40; -assign MSB_DUM[41] = r_MSB_DUM_41; -assign MSB_DUM[42] = r_MSB_DUM_42; -assign MSB_DUM[43] = r_MSB_DUM_43; -assign MSB_DUM[44] = r_MSB_DUM_44; -assign MSB_DUM[45] = r_MSB_DUM_45; -assign MSB_DUM[46] = r_MSB_DUM_46; -assign MSB_DUM[47] = r_MSB_DUM_47; -assign MSB_DUM[48] = r_MSB_DUM_48; -assign MSB_DUM[49] = r_MSB_DUM_49; -assign MSB_DUM[50] = r_MSB_DUM_50; -assign MSB_DUM[51] = r_MSB_DUM_51; -assign MSB_DUM[52] = r_MSB_DUM_52; -assign MSB_DUM[53] = r_MSB_DUM_53; -assign MSB_DUM[54] = r_MSB_DUM_54; -assign MSB_DUM[55] = r_MSB_DUM_55; -assign MSB_DUM[56] = r_MSB_DUM_56; -assign MSB_DUM[57] = r_MSB_DUM_57; -assign MSB_DUM[58] = r_MSB_DUM_58; -assign MSB_DUM[59] = r_MSB_DUM_59; -assign MSB_DUM[60] = r_MSB_DUM_60; -assign MSB_DUM[61] = r_MSB_DUM_61; -assign MSB_DUM[62] = r_MSB_DUM_62; -assign MSB_DUM[63] = r_MSB_DUM_63; -endmodule \ No newline at end of file +assign MSB_POS_DUM[0 ] = r_MSB_DUM_0 ; +assign MSB_POS_DUM[1 ] = r_MSB_DUM_1 ; +assign MSB_POS_DUM[2 ] = r_MSB_DUM_2 ; +assign MSB_POS_DUM[3 ] = r_MSB_DUM_3 ; +assign MSB_POS_DUM[4 ] = r_MSB_DUM_4 ; +assign MSB_POS_DUM[5 ] = r_MSB_DUM_5 ; +assign MSB_POS_DUM[6 ] = r_MSB_DUM_6 ; +assign MSB_POS_DUM[7 ] = r_MSB_DUM_7 ; +assign MSB_POS_DUM[8 ] = r_MSB_DUM_8 ; +assign MSB_POS_DUM[9 ] = r_MSB_DUM_9 ; +assign MSB_POS_DUM[10] = r_MSB_DUM_10; +assign MSB_POS_DUM[11] = r_MSB_DUM_11; +assign MSB_POS_DUM[12] = r_MSB_DUM_12; +assign MSB_POS_DUM[13] = r_MSB_DUM_13; +assign MSB_POS_DUM[14] = r_MSB_DUM_14; +assign MSB_POS_DUM[15] = r_MSB_DUM_15; +assign MSB_POS_DUM[16] = r_MSB_DUM_16; +assign MSB_POS_DUM[17] = r_MSB_DUM_17; +assign MSB_POS_DUM[18] = r_MSB_DUM_18; +assign MSB_POS_DUM[19] = r_MSB_DUM_19; +assign MSB_POS_DUM[20] = r_MSB_DUM_20; +assign MSB_POS_DUM[21] = r_MSB_DUM_21; +assign MSB_POS_DUM[22] = r_MSB_DUM_22; +assign MSB_POS_DUM[23] = r_MSB_DUM_23; +assign MSB_POS_DUM[24] = r_MSB_DUM_24; +assign MSB_POS_DUM[25] = r_MSB_DUM_25; +assign MSB_POS_DUM[26] = r_MSB_DUM_26; +assign MSB_POS_DUM[27] = r_MSB_DUM_27; +assign MSB_POS_DUM[28] = r_MSB_DUM_28; +assign MSB_POS_DUM[29] = r_MSB_DUM_29; +assign MSB_POS_DUM[30] = r_MSB_DUM_30; +assign MSB_POS_DUM[31] = r_MSB_DUM_31; +assign MSB_NEG_DUM[0 ] = r_MSB_DUM_32; +assign MSB_NEG_DUM[1 ] = r_MSB_DUM_33; +assign MSB_NEG_DUM[2 ] = r_MSB_DUM_34; +assign MSB_NEG_DUM[3 ] = r_MSB_DUM_35; +assign MSB_NEG_DUM[4 ] = r_MSB_DUM_36; +assign MSB_NEG_DUM[5 ] = r_MSB_DUM_37; +assign MSB_NEG_DUM[6 ] = r_MSB_DUM_38; +assign MSB_NEG_DUM[7 ] = r_MSB_DUM_39; +assign MSB_NEG_DUM[8 ] = r_MSB_DUM_40; +assign MSB_NEG_DUM[9 ] = r_MSB_DUM_41; +assign MSB_NEG_DUM[10] = r_MSB_DUM_42; +assign MSB_NEG_DUM[11] = r_MSB_DUM_43; +assign MSB_NEG_DUM[12] = r_MSB_DUM_44; +assign MSB_NEG_DUM[13] = r_MSB_DUM_45; +assign MSB_NEG_DUM[14] = r_MSB_DUM_46; +assign MSB_NEG_DUM[15] = r_MSB_DUM_47; +assign MSB_NEG_DUM[16] = r_MSB_DUM_48; +assign MSB_NEG_DUM[17] = r_MSB_DUM_49; +assign MSB_NEG_DUM[18] = r_MSB_DUM_50; +assign MSB_NEG_DUM[19] = r_MSB_DUM_51; +assign MSB_NEG_DUM[20] = r_MSB_DUM_52; +assign MSB_NEG_DUM[21] = r_MSB_DUM_53; +assign MSB_NEG_DUM[22] = r_MSB_DUM_54; +assign MSB_NEG_DUM[23] = r_MSB_DUM_55; +assign MSB_NEG_DUM[24] = r_MSB_DUM_56; +assign MSB_NEG_DUM[25] = r_MSB_DUM_57; +assign MSB_NEG_DUM[26] = r_MSB_DUM_58; +assign MSB_NEG_DUM[27] = r_MSB_DUM_59; +assign MSB_NEG_DUM[28] = r_MSB_DUM_60; +assign MSB_NEG_DUM[29] = r_MSB_DUM_61; +assign MSB_NEG_DUM[30] = r_MSB_DUM_62; +assign MSB_NEG_DUM[31] = r_MSB_DUM_63; +endmodule diff --git a/DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v b/DA4008_V1.3/rtl/fifo/syn_fwft_fifo.v similarity index 100% rename from DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v rename to DA4008_V1.3/rtl/fifo/syn_fwft_fifo.v diff --git a/DA4008_V1.2/rtl/io/iopad.v b/DA4008_V1.3/rtl/io/iopad.v similarity index 100% rename from DA4008_V1.2/rtl/io/iopad.v rename to DA4008_V1.3/rtl/io/iopad.v diff --git a/DA4008_V1.2/rtl/lvds/ulink_rx.sv b/DA4008_V1.3/rtl/lvds/ulink_rx.sv similarity index 99% rename from DA4008_V1.2/rtl/lvds/ulink_rx.sv rename to DA4008_V1.3/rtl/lvds/ulink_rx.sv index 66e57dd..b4ad989 100644 --- a/DA4008_V1.2/rtl/lvds/ulink_rx.sv +++ b/DA4008_V1.3/rtl/lvds/ulink_rx.sv @@ -740,7 +740,7 @@ module prefill #( // delay counter control wire [19:0] delay_counter; -wire add_delay_counter = ~(delay_counter == DELAY); +wire add_delay_counter = ~(delay_counter == DELAY-1); wire end_delay_counter = add_delay_counter && (delay_counter == DELAY-1); wire [19:0] delay_counter_n = end_delay_counter ? 20'h0 : diff --git a/DA4008_V1.2/rtl/memory/bhv_spram.v b/DA4008_V1.3/rtl/memory/bhv_spram.v similarity index 100% rename from DA4008_V1.2/rtl/memory/bhv_spram.v rename to DA4008_V1.3/rtl/memory/bhv_spram.v diff --git a/DA4008_V1.2/rtl/memory/dpram.v b/DA4008_V1.3/rtl/memory/dpram.v similarity index 100% rename from DA4008_V1.2/rtl/memory/dpram.v rename to DA4008_V1.3/rtl/memory/dpram.v diff --git a/DA4008_V1.2/rtl/memory/spram (copy).v b/DA4008_V1.3/rtl/memory/spram (copy).v similarity index 100% rename from DA4008_V1.2/rtl/memory/spram (copy).v rename to DA4008_V1.3/rtl/memory/spram (copy).v diff --git a/DA4008_V1.2/rtl/memory/spram.v b/DA4008_V1.3/rtl/memory/spram.v similarity index 100% rename from DA4008_V1.2/rtl/memory/spram.v rename to DA4008_V1.3/rtl/memory/spram.v diff --git a/DA4008_V1.2/rtl/memory/sram_dmux.sv b/DA4008_V1.3/rtl/memory/sram_dmux.sv similarity index 100% rename from DA4008_V1.2/rtl/memory/sram_dmux.sv rename to DA4008_V1.3/rtl/memory/sram_dmux.sv diff --git a/DA4008_V1.2/rtl/memory/sram_if.sv b/DA4008_V1.3/rtl/memory/sram_if.sv similarity index 100% rename from DA4008_V1.2/rtl/memory/sram_if.sv rename to DA4008_V1.3/rtl/memory/sram_if.sv diff --git a/DA4008_V1.2/rtl/memory/tsmc_dpram.v b/DA4008_V1.3/rtl/memory/tsmc_dpram.v similarity index 100% rename from DA4008_V1.2/rtl/memory/tsmc_dpram.v rename to DA4008_V1.3/rtl/memory/tsmc_dpram.v diff --git a/DA4008_V1.2/rtl/memory/xil_tdpram.v b/DA4008_V1.3/rtl/memory/xil_tdpram.v similarity index 100% rename from DA4008_V1.2/rtl/memory/xil_tdpram.v rename to DA4008_V1.3/rtl/memory/xil_tdpram.v diff --git a/DA4008_V1.3/rtl/nco/coef_c.v b/DA4008_V1.3/rtl/nco/coef_c.v new file mode 100644 index 0000000..8563555 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/coef_c.v @@ -0,0 +1,150 @@ +module COEF_C( + index , + C0_C , + C1_C , + C2_C + ); +input [4:0] index; + +output [17:0] C0_C; +output [11:0] C1_C; +output [5:0] C2_C; + +reg [17:0] C0_C; +reg [11:0] C1_C; +reg [5:0] C2_C; + + + +//------------------------ +//----C0_C OK +always@(*) +begin + + case(index) + 5'd 0 : C0_C =18'h3ffff; + 5'd 1 : C0_C =18'h3ffb1; + 5'd 2 : C0_C =18'h3fec4; + 5'd 3 : C0_C =18'h3fd3a; + 5'd 4 : C0_C =18'h3fb12; + 5'd 5 : C0_C =18'h3f84d; + 5'd 6 : C0_C =18'h3f4eb; + 5'd 7 : C0_C =18'h3f0ed; + 5'd 8 : C0_C =18'h3ec53; + 5'd 9 : C0_C =18'h3e71e; + 5'd10 : C0_C =18'h3e150; + 5'd11 : C0_C =18'h3dae8; + 5'd12 : C0_C =18'h3d3e8; + 5'd13 : C0_C =18'h3cc51; + 5'd14 : C0_C =18'h3c424; + 5'd15 : C0_C =18'h3bb62; + 5'd16 : C0_C =18'h3b20d; + 5'd17 : C0_C =18'h3a827; + 5'd18 : C0_C =18'h39daf; + 5'd19 : C0_C =18'h392a9; + 5'd20 : C0_C =18'h38716; + 5'd21 : C0_C =18'h37af8; + 5'd22 : C0_C =18'h36e50; + 5'd23 : C0_C =18'h36121; + 5'd24 : C0_C =18'h3536d; + 5'd25 : C0_C =18'h34535; + 5'd26 : C0_C =18'h3367c; + 5'd27 : C0_C =18'h32744; + 5'd28 : C0_C =18'h31790; + 5'd29 : C0_C =18'h30762; + 5'd30 : C0_C =18'h2f6bc; + 5'd31 : C0_C =18'h2e5a1; + // default : C0_C = C0_C; + endcase + +end + +//------------------------ +//----C1_C OK +always@(*) +begin + + case(index) + 5'd 0 : C1_C =12'd 0; + 5'd 1 : C1_C =12'd 79; + 5'd 2 : C1_C =12'd 158; + 5'd 3 : C1_C =12'd 237; + 5'd 4 : C1_C =12'd 315; + 5'd 5 : C1_C =12'd 394; + 5'd 6 : C1_C =12'd 472; + 5'd 7 : C1_C =12'd 550; + 5'd 8 : C1_C =12'd 628; + 5'd 9 : C1_C =12'd 705; + 5'd10 : C1_C =12'd 782; + 5'd11 : C1_C =12'd 858; + 5'd12 : C1_C =12'd 934; + 5'd13 : C1_C =12'd1009; + 5'd14 : C1_C =12'd1084; + 5'd15 : C1_C =12'd1158; + 5'd16 : C1_C =12'd1231; + 5'd17 : C1_C =12'd1304; + 5'd18 : C1_C =12'd1376; + 5'd19 : C1_C =12'd1446; + 5'd20 : C1_C =12'd1517; + 5'd21 : C1_C =12'd1586; + 5'd22 : C1_C =12'd1654; + 5'd23 : C1_C =12'd1721; + 5'd24 : C1_C =12'd1787; + 5'd25 : C1_C =12'd1852; + 5'd26 : C1_C =12'd1916; + 5'd27 : C1_C =12'd1979; + 5'd28 : C1_C =12'd2041; + 5'd29 : C1_C =12'd2101; + 5'd30 : C1_C =12'd2161; + 5'd31 : C1_C =12'd2218; + // default : C1_C = C1_C; + endcase + +end +//------------------------ +//----C2_C +always@(*) +begin + + + case(index) + 5'd 0 : C2_C =6'd39; + 5'd 1 : C2_C =6'd39; + 5'd 2 : C2_C =6'd39; + 5'd 3 : C2_C =6'd39; + 5'd 4 : C2_C =6'd39; + 5'd 5 : C2_C =6'd39; + 5'd 6 : C2_C =6'd39; + 5'd 7 : C2_C =6'd39; + 5'd 8 : C2_C =6'd39; + 5'd 9 : C2_C =6'd38; + 5'd10 : C2_C =6'd38; + 5'd11 : C2_C =6'd38; + 5'd12 : C2_C =6'd38; + 5'd13 : C2_C =6'd37; + 5'd14 : C2_C =6'd37; + 5'd15 : C2_C =6'd37; + 5'd16 : C2_C =6'd36; + 5'd17 : C2_C =6'd36; + 5'd18 : C2_C =6'd35; + 5'd19 : C2_C =6'd35; + 5'd20 : C2_C =6'd35; + 5'd21 : C2_C =6'd34; + 5'd22 : C2_C =6'd34; + 5'd23 : C2_C =6'd33; + 5'd24 : C2_C =6'd33; + 5'd25 : C2_C =6'd32; + 5'd26 : C2_C =6'd31; + 5'd27 : C2_C =6'd31; + 5'd28 : C2_C =6'd30; + 5'd29 : C2_C =6'd30; + 5'd30 : C2_C =6'd29; + 5'd31 : C2_C =6'd28; + // default : C2_C = C2_C; + endcase + + +end +endmodule + + diff --git a/DA4008_V1.3/rtl/nco/coef_s.v b/DA4008_V1.3/rtl/nco/coef_s.v new file mode 100644 index 0000000..4fcbba5 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/coef_s.v @@ -0,0 +1,155 @@ +module COEF_S( + + index , + C0_S , + C1_S , + C2_S + + ); + +input [4:0] index; + +output [17:0] C0_S; +output [11:0] C1_S; +output [4:0] C2_S; + + +reg [17:0] C0_S; +reg [11:0] C1_S; +reg [4:0] C2_S; + +//------------------------ +//----C0_S +always@(*) +begin + + case(index) + 5'd 0 : C0_S =18'd 0; + 5'd 1 : C0_S =18'd 6433; + 5'd 2 : C0_S =18'd 12863; + 5'd 3 : C0_S =18'd 19284; + 5'd 4 : C0_S =18'd 25695; + 5'd 5 : C0_S =18'd 32089; + 5'd 6 : C0_S =18'd 38464; + 5'd 7 : C0_S =18'd 44817; + 5'd 8 : C0_S =18'd 51142; + 5'd 9 : C0_S =18'd 57436; + 5'd10 : C0_S =18'd 63696; + 5'd11 : C0_S =18'd 69917; + 5'd12 : C0_S =18'd 76096; + 5'd13 : C0_S =18'd 82230; + 5'd14 : C0_S =18'd 88314; + 5'd15 : C0_S =18'd 94344; + 5'd16 : C0_S =18'd100318; + 5'd17 : C0_S =18'd106232; + 5'd18 : C0_S =18'd112081; + 5'd19 : C0_S =18'd117863; + 5'd20 : C0_S =18'd123574; + 5'd21 : C0_S =18'd129210; + 5'd22 : C0_S =18'd134769; + 5'd23 : C0_S =18'd140246; + 5'd24 : C0_S =18'd145639; + 5'd25 : C0_S =18'd150945; + 5'd26 : C0_S =18'd156159; + 5'd27 : C0_S =18'd161279; + 5'd28 : C0_S =18'd166302; + 5'd29 : C0_S =18'd171225; + 5'd30 : C0_S =18'd176045; + 5'd31 : C0_S =18'd180759; + // default : C0_S = C0_S; + endcase + +end + +//------------------------ + + +//------------------------ +//----C1_S OK +always@(*) +begin + + case(index) + 5'd 0 : C1_S =12'd3217; + 5'd 1 : C1_S =12'd3216; + 5'd 2 : C1_S =12'd3213; + 5'd 3 : C1_S =12'd3208; + 5'd 4 : C1_S =12'd3202; + 5'd 5 : C1_S =12'd3193; + 5'd 6 : C1_S =12'd3182; + 5'd 7 : C1_S =12'd3170; + 5'd 8 : C1_S =12'd3155; + 5'd 9 : C1_S =12'd3139; + 5'd10 : C1_S =12'd3121; + 5'd11 : C1_S =12'd3101; + 5'd12 : C1_S =12'd3079; + 5'd13 : C1_S =12'd3055; + 5'd14 : C1_S =12'd3029; + 5'd15 : C1_S =12'd3002; + 5'd16 : C1_S =12'd2972; + 5'd17 : C1_S =12'd2941; + 5'd18 : C1_S =12'd2908; + 5'd19 : C1_S =12'd2874; + 5'd20 : C1_S =12'd2837; + 5'd21 : C1_S =12'd2799; + 5'd22 : C1_S =12'd2759; + 5'd23 : C1_S =12'd2718; + 5'd24 : C1_S =12'd2675; + 5'd25 : C1_S =12'd2630; + 5'd26 : C1_S =12'd2584; + 5'd27 : C1_S =12'd2536; + 5'd28 : C1_S =12'd2487; + 5'd29 : C1_S =12'd2436; + 5'd30 : C1_S =12'd2384; + 5'd31 : C1_S =12'd2330; + // default : C1_S = C1_S; + endcase + +end + +//------------------------ +//----C2_S +always@(*) +begin + + case(index) + 5'd 0 : C2_S =5'd 0; + 5'd 1 : C2_S =5'd 1; + 5'd 2 : C2_S =5'd 2; + 5'd 3 : C2_S =5'd 3; + 5'd 4 : C2_S =5'd 4; + 5'd 5 : C2_S =5'd 5; + 5'd 6 : C2_S =5'd 6; + 5'd 7 : C2_S =5'd 7; + 5'd 8 : C2_S =5'd 8; + 5'd 9 : C2_S =5'd 9; + 5'd10 : C2_S =5'd10; + 5'd11 : C2_S =5'd11; + 5'd12 : C2_S =5'd12; + 5'd13 : C2_S =5'd13; + 5'd14 : C2_S =5'd14; + 5'd15 : C2_S =5'd15; + 5'd16 : C2_S =5'd16; + 5'd17 : C2_S =5'd16; + 5'd18 : C2_S =5'd17; + 5'd19 : C2_S =5'd18; + 5'd20 : C2_S =5'd19; + 5'd21 : C2_S =5'd20; + 5'd22 : C2_S =5'd21; + 5'd23 : C2_S =5'd22; + 5'd24 : C2_S =5'd22; + 5'd25 : C2_S =5'd23; + 5'd26 : C2_S =5'd24; + 5'd27 : C2_S =5'd25; + 5'd28 : C2_S =5'd25; + 5'd29 : C2_S =5'd26; + 5'd30 : C2_S =5'd27; + 5'd31 : C2_S =5'd28; + // default : C2_S = C2_S; + endcase + +end + +endmodule + + diff --git a/DA4008_V1.3/rtl/nco/cos_op.v b/DA4008_V1.3/rtl/nco/cos_op.v new file mode 100644 index 0000000..25ded3c --- /dev/null +++ b/DA4008_V1.3/rtl/nco/cos_op.v @@ -0,0 +1,144 @@ +module COS_OP( + clk , + rstn , + pha_map , + pha_indx_msb , + cos_op_o + ); + +input clk; +input rstn; +input [18:0] pha_map; +output [2:0] pha_indx_msb; +output [14:0] cos_op_o; + +wire [2:0] pha_indx_msb_w; +assign pha_indx_msb_w=pha_map[18:16]; + +wire [15:0] pha_indx_lsb; +assign pha_indx_lsb=pha_map[15:0]; +wire [15:0] pha_op; +assign pha_op=pha_indx_msb_w[0]?(~pha_indx_lsb):pha_indx_lsb; + +wire [4:0] indx; +assign indx=pha_op[15:11]; +wire [10:0] x_w; +assign x_w=pha_op[10:0]; +wire [17:0] c0; +wire [11:0] c1; +wire [5:0] c2; + + +COEF_C coef_c_inst1( + .index(indx) , + .C0_C(c0) , + .C1_C(c1) , + .C2_C(c2) + ); + +reg[17:0] c0_r1; +reg[17:0] c0_r2; +reg[17:0] c0_r3; +reg[17:0] c0_r4; +reg[17:0] c0_r5; +reg[17:0] c0_r6; +always@(posedge clk) + begin + c0_r1<=c0; + c0_r2<=c0_r1; + c0_r3<=c0_r2; + c0_r4<=c0_r3; + c0_r5<=c0_r4; + c0_r6<=c0_r5; + end +reg [11:0] c1_r1; +reg [11:0] c1_r2; +reg [11:0] c1_r3; +always@(posedge clk) + begin + c1_r1<=c1; + c1_r2<=c1_r1; + c1_r3<=c1_r2; + end +reg [5:0] c2_r1; +always@(posedge clk) + c2_r1<=c2; +reg[10:0] x_r1; +reg[10:0] x_r2; +reg[10:0] x_r3; +reg[10:0] x_r4; +always@(posedge clk) + begin + x_r1<=x_w; + x_r2<=x_r1; + x_r3<=x_r2; + x_r4<=x_r3; + end + +wire [16:0] c2x; + +DW_mult_pipe #(11,6,2,0,1) inst_mult_0( + .clk (clk ), + .rst_n (rstn ), + .en (1'b1 ), + .a (x_r1 ), + .b (c2_r1 ), + .tc (1'b0 ), + .product (c2x ) + ); + +wire [5:0] c2x_w; +assign c2x_w=c2x[10]?(c2x[16:11]+6'd1):c2x[16:11]; + +reg [11:0] c2xc1; +always@(posedge clk) + c2xc1<=c1_r2+c2x_w; +wire [22:0] c2xc1x; +DW_mult_pipe #(11,12,3,0,1) inst_mult_1( + .clk (clk ), + .rst_n (rstn ), + .en (1'b1 ), + .a (x_r3 ), + .b (c2xc1 ), + .tc (1'b0 ), + .product (c2xc1x ) + ); + + +wire [12:0] c2xc1x_w; +assign c2xc1x_w=c2xc1x[9]?(c2xc1x[22:10]+13'd1):c2xc1x[22:10]; +reg [12:0] c2xc1x_r; +always@(posedge clk) + c2xc1x_r<=c2xc1x_w; +wire [17:0] c2xc1xc0; +assign c2xc1xc0 =c0_r6-c2xc1x_r; + +wire[15:0] c2xc1xc0_w1; +assign c2xc1xc0_w1=c2xc1xc0[2]?({1'b0,c2xc1xc0[17:3]}+15'd1):{1'b0,c2xc1xc0[17:3]}; + +wire[14:0] c2xc1xc0_w; +assign c2xc1xc0_w=(c2xc1xc0_w1>=15'd32767)?15'd32767:c2xc1xc0_w1[14:0]; +reg [14:0] c2xc1xc0_r; +always@(posedge clk) + c2xc1xc0_r<=c2xc1xc0_w; +assign cos_op_o=c2xc1xc0_r; +reg[2:0] pha_indx_msb_r1; +reg[2:0] pha_indx_msb_r2; +reg[2:0] pha_indx_msb_r3; +reg[2:0] pha_indx_msb_r4; +reg[2:0] pha_indx_msb_r5; +reg[2:0] pha_indx_msb_r6; +reg[2:0] pha_indx_msb_r7; +always@(posedge clk) + begin + pha_indx_msb_r1<=pha_indx_msb_w; + pha_indx_msb_r2<=pha_indx_msb_r1; + pha_indx_msb_r3<=pha_indx_msb_r2; + pha_indx_msb_r4<=pha_indx_msb_r3; + pha_indx_msb_r5<=pha_indx_msb_r4; + pha_indx_msb_r6<=pha_indx_msb_r5; + pha_indx_msb_r7<=pha_indx_msb_r6; + end + +assign pha_indx_msb=pha_indx_msb_r7; +endmodule diff --git a/DA4008_V1.3/rtl/nco/nco.v b/DA4008_V1.3/rtl/nco/nco.v new file mode 100644 index 0000000..20e14c5 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/nco.v @@ -0,0 +1,276 @@ +module NCO # ( + parameter WIDTH = 16 + ,parameter PARALLEL = 16 +)( + input clk +,input rstn +,input phase_manual_clr +,input phase_auto_clr +,input [47 :0] fcw +,input [15 :0] pha +,input nco_en +,input p2a_en + +,output [WIDTH-1:0] cos [PARALLEL-1:0] +,output [WIDTH-1:0] sin [PARALLEL-1:0] +); + +reg [47:0] fcw_r1 [PARALLEL-1:0]; + +wire [47:0] fcw2_w; +wire [47:0] fcw4_w; +wire [47:0] fcw8_w; +wire [47:0] fcw16_w; +wire [47:0] fcw32_w; +wire [47:0] fcw64_w; + +reg [15:0] pha_r; + +assign fcw2_w =fcw<<3'd1; +assign fcw4_w =fcw<<3'd2; +assign fcw8_w =fcw<<3'd3; +assign fcw16_w=fcw<<3'd4; +assign fcw32_w=fcw<<3'd5; +assign fcw64_w=fcw<<3'd6; + +always@(posedge clk or negedge rstn) + if(!rstn) begin + fcw_r1[ 1] <=48'd0; + fcw_r1[ 2] <=48'd0; + fcw_r1[ 3] <=48'd0; + fcw_r1[ 4] <=48'd0; + fcw_r1[ 5] <=48'd0; + fcw_r1[ 6] <=48'd0; + fcw_r1[ 7] <=48'd0; + fcw_r1[ 8] <=48'd0; + fcw_r1[ 9] <=48'd0; + fcw_r1[10] <=48'd0; + fcw_r1[11] <=48'd0; + fcw_r1[12] <=48'd0; + fcw_r1[13] <=48'd0; + fcw_r1[14] <=48'd0; + fcw_r1[15] <=48'd0; + fcw_r1[16] <=48'd0; + fcw_r1[17] <=48'd0; + fcw_r1[18] <=48'd0; + fcw_r1[19] <=48'd0; + fcw_r1[20] <=48'd0; + fcw_r1[21] <=48'd0; + fcw_r1[22] <=48'd0; + fcw_r1[23] <=48'd0; + fcw_r1[24] <=48'd0; + fcw_r1[25] <=48'd0; + fcw_r1[26] <=48'd0; + fcw_r1[27] <=48'd0; + fcw_r1[28] <=48'd0; + fcw_r1[29] <=48'd0; + fcw_r1[30] <=48'd0; + fcw_r1[31] <=48'd0; + fcw_r1[32] <=48'd0; + fcw_r1[33] <=48'd0; + fcw_r1[34] <=48'd0; + fcw_r1[35] <=48'd0; + fcw_r1[36] <=48'd0; + fcw_r1[37] <=48'd0; + fcw_r1[38] <=48'd0; + fcw_r1[39] <=48'd0; + fcw_r1[40] <=48'd0; + fcw_r1[41] <=48'd0; + fcw_r1[42] <=48'd0; + fcw_r1[43] <=48'd0; + fcw_r1[44] <=48'd0; + fcw_r1[45] <=48'd0; + fcw_r1[46] <=48'd0; + fcw_r1[47] <=48'd0; + fcw_r1[48] <=48'd0; + fcw_r1[49] <=48'd0; + fcw_r1[50] <=48'd0; + fcw_r1[51] <=48'd0; + fcw_r1[52] <=48'd0; + fcw_r1[53] <=48'd0; + fcw_r1[54] <=48'd0; + fcw_r1[55] <=48'd0; + fcw_r1[56] <=48'd0; + fcw_r1[57] <=48'd0; + fcw_r1[58] <=48'd0; + fcw_r1[59] <=48'd0; + fcw_r1[60] <=48'd0; + fcw_r1[61] <=48'd0; + fcw_r1[62] <=48'd0; + fcw_r1[63] <=48'd0; + fcw_r1[0 ] <=48'd0; + end + else if(nco_en == 1'b0) begin + fcw_r1[ 1] <=48'd0; + fcw_r1[ 2] <=48'd0; + fcw_r1[ 3] <=48'd0; + fcw_r1[ 4] <=48'd0; + fcw_r1[ 5] <=48'd0; + fcw_r1[ 6] <=48'd0; + fcw_r1[ 7] <=48'd0; + fcw_r1[ 8] <=48'd0; + fcw_r1[ 9] <=48'd0; + fcw_r1[10] <=48'd0; + fcw_r1[11] <=48'd0; + fcw_r1[12] <=48'd0; + fcw_r1[13] <=48'd0; + fcw_r1[14] <=48'd0; + fcw_r1[15] <=48'd0; + fcw_r1[16] <=48'd0; + fcw_r1[17] <=48'd0; + fcw_r1[18] <=48'd0; + fcw_r1[19] <=48'd0; + fcw_r1[20] <=48'd0; + fcw_r1[21] <=48'd0; + fcw_r1[22] <=48'd0; + fcw_r1[23] <=48'd0; + fcw_r1[24] <=48'd0; + fcw_r1[25] <=48'd0; + fcw_r1[26] <=48'd0; + fcw_r1[27] <=48'd0; + fcw_r1[28] <=48'd0; + fcw_r1[29] <=48'd0; + fcw_r1[30] <=48'd0; + fcw_r1[31] <=48'd0; + fcw_r1[32] <=48'd0; + fcw_r1[33] <=48'd0; + fcw_r1[34] <=48'd0; + fcw_r1[35] <=48'd0; + fcw_r1[36] <=48'd0; + fcw_r1[37] <=48'd0; + fcw_r1[38] <=48'd0; + fcw_r1[39] <=48'd0; + fcw_r1[40] <=48'd0; + fcw_r1[41] <=48'd0; + fcw_r1[42] <=48'd0; + fcw_r1[43] <=48'd0; + fcw_r1[44] <=48'd0; + fcw_r1[45] <=48'd0; + fcw_r1[46] <=48'd0; + fcw_r1[47] <=48'd0; + fcw_r1[48] <=48'd0; + fcw_r1[49] <=48'd0; + fcw_r1[50] <=48'd0; + fcw_r1[51] <=48'd0; + fcw_r1[52] <=48'd0; + fcw_r1[53] <=48'd0; + fcw_r1[54] <=48'd0; + fcw_r1[55] <=48'd0; + fcw_r1[56] <=48'd0; + fcw_r1[57] <=48'd0; + fcw_r1[58] <=48'd0; + fcw_r1[59] <=48'd0; + fcw_r1[60] <=48'd0; + fcw_r1[61] <=48'd0; + fcw_r1[62] <=48'd0; + fcw_r1[63] <=48'd0; + fcw_r1[0 ] <=48'd0; + end + else begin + fcw_r1[ 1] <=fcw; + fcw_r1[ 2] <=fcw2_w; + fcw_r1[ 3] <=fcw2_w + fcw; + fcw_r1[ 4] <=fcw4_w; + fcw_r1[ 5] <=fcw4_w + fcw; + fcw_r1[ 6] <=fcw4_w + fcw2_w; + fcw_r1[ 7] <=fcw8_w - fcw; + fcw_r1[ 8] <=fcw8_w; + fcw_r1[ 9] <=fcw8_w + fcw; + fcw_r1[10] <=fcw8_w + fcw2_w; + fcw_r1[11] <=fcw8_w + fcw2_w + fcw; + fcw_r1[12] <=fcw8_w + fcw4_w; + fcw_r1[13] <=fcw8_w + fcw4_w + fcw; + fcw_r1[14] <=fcw16_w - fcw2_w; + fcw_r1[15] <=fcw16_w - fcw; + fcw_r1[16] <=fcw16_w; + fcw_r1[17] <=fcw16_w + fcw; + fcw_r1[18] <=fcw16_w + fcw2_w; + fcw_r1[19] <=fcw16_w + fcw2_w + fcw; + fcw_r1[20] <=fcw16_w + fcw4_w; + fcw_r1[21] <=fcw16_w + fcw4_w + fcw; + fcw_r1[22] <=fcw16_w + fcw4_w + fcw2_w; + fcw_r1[23] <=fcw16_w + fcw8_w - fcw; + fcw_r1[24] <=fcw16_w + fcw8_w; + fcw_r1[25] <=fcw32_w - fcw8_w + fcw; + fcw_r1[26] <=fcw32_w - fcw4_w - fcw2_w; + fcw_r1[27] <=fcw32_w - fcw4_w - fcw; + fcw_r1[28] <=fcw32_w - fcw4_w; + fcw_r1[29] <=fcw32_w - fcw2_w - fcw; + fcw_r1[30] <=fcw32_w - fcw2_w; + fcw_r1[31] <=fcw32_w - fcw; + fcw_r1[32] <=fcw32_w; + fcw_r1[33] <=fcw32_w + fcw; + fcw_r1[34] <=fcw32_w + fcw2_w; + fcw_r1[35] <=fcw32_w + fcw2_w + fcw; + fcw_r1[36] <=fcw32_w + fcw4_w; + fcw_r1[37] <=fcw32_w + fcw4_w + fcw; + fcw_r1[38] <=fcw32_w + fcw4_w + fcw2_w; + fcw_r1[39] <=fcw32_w + fcw8_w - fcw; + fcw_r1[40] <=fcw32_w + fcw8_w; + fcw_r1[41] <=fcw32_w + fcw8_w + fcw; + fcw_r1[42] <=fcw32_w + fcw8_w + fcw2_w; + fcw_r1[43] <=fcw32_w + fcw8_w + fcw2_w + fcw; + fcw_r1[44] <=fcw32_w + fcw8_w + fcw4_w; + fcw_r1[45] <=fcw32_w + fcw8_w + fcw4_w + fcw; + fcw_r1[46] <=fcw32_w + fcw8_w + fcw4_w + fcw2_w; + fcw_r1[47] <=fcw32_w + fcw16_w - fcw; + fcw_r1[48] <=fcw32_w + fcw16_w; + fcw_r1[49] <=fcw32_w + fcw16_w + fcw; + fcw_r1[50] <=fcw32_w + fcw16_w + fcw2_w; + fcw_r1[51] <=fcw32_w + fcw16_w + fcw2_w + fcw; + fcw_r1[52] <=fcw32_w + fcw16_w + fcw4_w; + fcw_r1[53] <=fcw32_w + fcw16_w + fcw4_w + fcw; + fcw_r1[54] <=fcw32_w + fcw16_w + fcw4_w + fcw2_w; + fcw_r1[55] <=fcw32_w + fcw16_w + fcw8_w - fcw; + fcw_r1[56] <=fcw32_w + fcw16_w + fcw8_w; + fcw_r1[57] <=fcw32_w + fcw16_w + fcw8_w + fcw; + fcw_r1[58] <=fcw64_w - fcw4_w - fcw2_w; + fcw_r1[59] <=fcw64_w - fcw4_w - fcw; + fcw_r1[60] <=fcw64_w - fcw4_w; + fcw_r1[61] <=fcw64_w - fcw4_w + fcw; + fcw_r1[62] <=fcw64_w - fcw2_w; + fcw_r1[63] <=fcw64_w - fcw; + fcw_r1[0 ] <=fcw64_w; + end + +always @(posedge clk or negedge rstn) begin + if(!rstn) begin + pha_r <= 16'd0; + end + else if(nco_en == 1'b0) begin + pha_r <= 16'd0; + end + else begin + pha_r <= pha; + end +end + +wire clr_acc; +wire clr_fix; +assign clr_acc = phase_auto_clr | phase_manual_clr; +assign clr_fix = phase_manual_clr; + +wire [15:0] s1_i_o; +wire [15:0] s2_i_o; +wire [15:0] s3_i_o; + +P_NCO #(.WIDTH(WIDTH), .PARALLEL(PARALLEL)) +inst_p_nco( + .clk (clk ), + .rstn (rstn ), + .clr (1'b0 ), //(clr_fix ), + .clr_acc (clr_acc ), + .ptw (pha_r ), + .p2a_en (p2a_en ), + .s1 (s1_i_o ), + .s2 (s2_i_o ), + .s3 (s3_i_o ), + .s1_o (s1_i_o ), + .s2_o (s2_i_o ), + .s3_o (s3_i_o ), + .fcw (fcw_r1 ), + .cos (cos ), + .sin (sin ) +); +endmodule + diff --git a/DA4008_V1.3/rtl/nco/p_nco.v b/DA4008_V1.3/rtl/nco/p_nco.v new file mode 100644 index 0000000..6f2cc53 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/p_nco.v @@ -0,0 +1,103 @@ +module P_NCO # ( + parameter WIDTH = 16 + , parameter PARALLEL = 16 +)( + input clk +,input rstn +,input clr +,input clr_acc +,input [15 :0] ptw +,input p2a_en + +,input [15 :0] s1 +,input [15 :0] s2 +,input [15 :0] s3 + +,output [15 :0] s1_o +,output [15 :0] s2_o +,output [15 :0] s3_o + +,input [47 :0] fcw [PARALLEL-1:0]//fcw[0]=16*fcw; fcw[i]=i*fcw, i=1,2,...,15 + +,output [WIDTH-1:0] cos [PARALLEL-1:0] +,output [WIDTH-1:0] sin [PARALLEL-1:0] +); + +wire [15:0] cos_16bit [PARALLEL-1:0]; +wire [15:0] sin_16bit [PARALLEL-1:0]; + +reg [15:0] ptw_r; +always@(posedge clk or negedge rstn) + if(!rstn) + ptw_r <= 16'd0; + else + ptw_r <= ptw; + +wire [18:0] pha [PARALLEL-1:0]; + +PIPE3_ACC_48BIT inst_pipe_0( + .clk (clk ) + ,.rstn (rstn ) + ,.in (fcw[0] ) + ,.clr (clr_acc ) + ,.en (1'b1 ) + ,.ptw (ptw ) + ,.s_o_1 (s1_o ) + ,.s_o_2 (s2_o ) + ,.s_o_3 (s3_o ) + ,.s_i_1 (s1 ) + ,.s_i_2 (s2 ) + ,.s_i_3 (s3 ) + ,.out (pha[0] )); + +reg [18:0] pha_0_r; +always@(posedge clk or negedge rstn) + if(!rstn) + pha_0_r <= 16'd0; + else if (p2a_en == 1'b0) + pha_0_r <= 16'd0; + else + pha_0_r <= pha[0]; + +PH2AMP inst_ph2amp_0( + .clk (clk ), + .rstn (rstn ), + .pha_map (pha_0_r ), + .sin_o (sin_16bit[0]), + .cos_o (cos_16bit[0]) + ); +assign cos[0] = cos_16bit[0][15:16-WIDTH]; +assign sin[0] = sin_16bit[0][15:16-WIDTH]; + +genvar i; +generate + for(i = 1; i < PARALLEL; i++) begin + + PIPE3_ADD_48BIT inst_pipe_i( + .clk (clk ) + ,.rstn (rstn ) + ,.in (fcw[i] ) + ,.clr (clr ) + ,.en (p2a_en ) + ,.ptw (ptw_r ) + ,.s1 (s1 ) + ,.s2 (s2 ) + ,.s3 (s3 ) + ,.out (pha[i] )); + + PH2AMP inst_ph2amp_i( + .clk (clk ) + ,.rstn (rstn ) + ,.pha_map (pha[i] ) + ,.sin_o (sin_16bit[i]) + ,.cos_o (cos_16bit[i])); + + assign cos[i] = cos_16bit[i][15:16-WIDTH]; + assign sin[i] = sin_16bit[i][15:16-WIDTH]; + end +endgenerate + + + +endmodule + diff --git a/DA4008_V1.3/rtl/nco/ph2amp.v b/DA4008_V1.3/rtl/nco/ph2amp.v new file mode 100644 index 0000000..ef26d32 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/ph2amp.v @@ -0,0 +1,83 @@ +module PH2AMP( + clk , + rstn , + pha_map , + sin_o , + cos_o + ); +input clk; +input rstn; +input [18:0] pha_map; + +output [15:0] sin_o; +output [15:0] cos_o; + +//wire [2:0] pha_indx_msb_s; +wire [14:0] sin_w; +SIN_OP inst_sin_op( + .clk(clk), + .rstn(rstn), + .pha_map(pha_map), + // .pha_indx_msb(pha_indx_msb_s), + .sin_op_o(sin_w) + ); +wire [2:0] pha_indx_msb_c; +wire [14:0] cos_w; +COS_OP inst_cos_op( + .clk(clk) , + .rstn(rstn) , + .pha_map(pha_map) , + .pha_indx_msb(pha_indx_msb_c), + .cos_op_o(cos_w) + ); +wire[15:0] cos_w_1; +wire[15:0] sin_w_1; +wire[15:0] cos_w_0; +wire[15:0] sin_w_0;//0:-,1:+ + +assign cos_w_1={1'b0,cos_w}; +assign sin_w_1={1'b0,sin_w}; +assign cos_w_0=(cos_w_1==16'd0)?16'd0:~cos_w_1+16'd1; +assign sin_w_0=(sin_w_1==16'd0)?16'd0:~sin_w_1+16'd1; + +reg[15:0] cos_tmp; +reg[15:0] sin_tmp; +always@(posedge clk) + case(pha_indx_msb_c)//synopsys parallel_case + 3'b000:begin + cos_tmp<=cos_w_1; + sin_tmp<=sin_w_1; + end + 3'b001:begin + cos_tmp<=sin_w_1; + sin_tmp<=cos_w_1; + end + 3'b010:begin + cos_tmp<=sin_w_0; + sin_tmp<=cos_w_1; + end + 3'b011:begin + cos_tmp<=cos_w_0; + sin_tmp<=sin_w_1; + end + 3'b100:begin + cos_tmp<=cos_w_0; + sin_tmp<=sin_w_0; + end + 3'b101:begin + cos_tmp<=sin_w_0; + sin_tmp<=cos_w_0; + end + 3'b110:begin + cos_tmp<=sin_w_1; + sin_tmp<=cos_w_0; + end + 3'b111:begin + cos_tmp<=cos_w_1; + sin_tmp<=sin_w_0; + end + endcase + +assign sin_o=sin_tmp; +assign cos_o=cos_tmp; +endmodule diff --git a/DA4008_V1.3/rtl/nco/pipe_acc_48bit.v b/DA4008_V1.3/rtl/nco/pipe_acc_48bit.v new file mode 100644 index 0000000..499d22d --- /dev/null +++ b/DA4008_V1.3/rtl/nco/pipe_acc_48bit.v @@ -0,0 +1,68 @@ + + +module PIPE3_ACC_48BIT( + clk, + rstn, + in, + clr, + en, + ptw, + s_i_1, + s_i_2, + s_i_3, + s_o_1, + s_o_2, + s_o_3, + out +); + +//--- + +input clk; +input rstn; +input [47:0] in; +input clr; +input en; +input [15:0] ptw; +input [15:0] s_i_1; +input [15:0] s_i_2; +input [15:0] s_i_3; +output [15:0] s_o_1; +output [15:0] s_o_2; +output [15:0] s_o_3; +output [18:0] out; + +//---------------------------------------------------------------------------------------------------- + +reg [47:0] acc; +always@(posedge clk or negedge rstn) + if(!rstn) + acc <= 48'h0; + else if(clr) + acc <= 48'h0; + else + acc <= {s_i_1, s_i_2, s_i_3} + in; + +//---------------------------------------------------------------------------------------------------- +wire[15:0] s1; +wire[15:0] s2; +wire[15:0] s3; + +assign s_o_1 = acc[47:32]; +assign s_o_2 = acc[31:16]; +assign s_o_3 = acc[15: 0]; + +wire[18:0] pha_w; +assign pha_w = acc[47:29]; + +reg [18:0] pha_r; +always@(posedge clk or negedge rstn) + if(!rstn) + pha_r <= 48'h0; + else if(en == 1'b0) + pha_r <= 48'h0; + else + pha_r <= pha_w + {ptw, 3'b0}; +assign out = pha_r; +//END +endmodule diff --git a/DA4008_V1.3/rtl/nco/pipe_add_48bit.v b/DA4008_V1.3/rtl/nco/pipe_add_48bit.v new file mode 100644 index 0000000..80fe5da --- /dev/null +++ b/DA4008_V1.3/rtl/nco/pipe_add_48bit.v @@ -0,0 +1,56 @@ + + +module PIPE3_ADD_48BIT( + clk, + rstn, + in, + clr, + en, + ptw, + s1, + s2, + s3, + out +); + +//--- + +input clk ; +input rstn ; +input [47:0] in ; +input clr ; +input en ; +input [15:0] ptw ; +input [15:0] s1 ; +input [15:0] s2 ; +input [15:0] s3 ; +output [18:0] out ; + + +//---------------------------------------------------------------------------------------------------- + +reg [47:0] acc; +always@(posedge clk or negedge rstn) + if(!rstn) + acc <= 48'h0; + else if(clr) + acc <= 48'h0; + else + acc <= {s1, s2, s3} + in; +//--- + +wire[18:0] pha_w; +assign pha_w = acc[47:29]; +reg [18:0] pha_r; +always@(posedge clk or negedge rstn) + if(!rstn) + pha_r <= 48'h0; + else if(en == 1'b0) + pha_r <= 48'h0; + else + pha_r <= pha_w + {ptw, 3'b0}; + + + assign out = pha_r; +//END +endmodule diff --git a/DA4008_V1.3/rtl/nco/sin_op.v b/DA4008_V1.3/rtl/nco/sin_op.v new file mode 100644 index 0000000..de9b6c4 --- /dev/null +++ b/DA4008_V1.3/rtl/nco/sin_op.v @@ -0,0 +1,144 @@ +module SIN_OP( + clk, + rstn, + pha_map, + // pha_indx_msb, + sin_op_o + ); + +input clk; +input rstn; +input[18:0] pha_map; +//output [2:0] pha_indx_msb; +output [14:0] sin_op_o; + +wire [2:0] pha_indx_msb_w; +assign pha_indx_msb_w=pha_map[18:16]; + +wire [15:0] pha_indx_lsb; +assign pha_indx_lsb=pha_map[15:0]; +wire [15:0] pha_op; +assign pha_op=pha_indx_msb_w[0]?(~pha_indx_lsb):pha_indx_lsb; + +wire [4:0] indx; +assign indx=pha_op[15:11]; +wire [10:0] x_w; +assign x_w=pha_op[10:0]; +wire [17:0] c0; +wire [11:0] c1; +wire [4:0] c2; + +COEF_S coef_s_inst1( + .index(indx) , + .C0_S(c0) , + .C1_S(c1) , + .C2_S(c2) + ); + +reg[17:0] c0_r1; +reg[17:0] c0_r2; +reg[17:0] c0_r3; +reg[17:0] c0_r4; +reg[17:0] c0_r5; +reg[17:0] c0_r6; +always@(posedge clk) + begin + c0_r1<=c0; + c0_r2<=c0_r1; + c0_r3<=c0_r2; + c0_r4<=c0_r3; + c0_r5<=c0_r4; + c0_r6<=c0_r5; + end +reg [11:0] c1_r1; +reg [11:0] c1_r2; +reg [11:0] c1_r3; +always@(posedge clk) + begin + c1_r1<=c1; + c1_r2<=c1_r1; + c1_r3<=c1_r2; + end +reg [4:0] c2_r1; +always@(posedge clk) + c2_r1<=c2; +reg[10:0] x_r1; +reg[10:0] x_r2; +reg[10:0] x_r3; +reg[10:0] x_r4; +always@(posedge clk) + begin + x_r1<=x_w; + x_r2<=x_r1; + x_r3<=x_r2; + x_r4<=x_r3; + end + +wire [15:0] c2x; + +DW_mult_pipe #(11,5,2,0,1) inst_mult_0( + .clk (clk ), + .rst_n (rstn ), + .en (1'b1 ), + .a (x_r1 ), + .b (c2_r1 ), + .tc (1'b0 ), + .product (c2x ) + ); + + +wire [4:0] c2x_w; +assign c2x_w=c2x[10]?(c2x[15:11]+5'd1):c2x[15:11]; +reg [11:0] c2xc1; +always@(posedge clk) + c2xc1<=c1_r2-c2x_w; + +wire [22:0] c2xc1x; + +DW_mult_pipe #(11,12,3,0,1) inst_mult_1( + .clk (clk ), + .rst_n (rstn ), + .en (1'b1 ), + .a (x_r3 ), + .b (c2xc1 ), + .tc (1'b0 ), + .product (c2xc1x ) + ); + +wire [12:0] c2xc1x_w; +assign c2xc1x_w=c2xc1x[9]?(c2xc1x[22:10]+13'd1):c2xc1x[22:10]; +reg [12:0] c2xc1x_r; +always@(posedge clk) + c2xc1x_r<=c2xc1x_w; +wire[17:0] c2xc1xc0; +assign c2xc1xc0=c0_r6+c2xc1x_r; +wire [14:0] c2xc1xc0_w; +assign c2xc1xc0_w=c2xc1xc0[2]?(c2xc1xc0[17:3]+13'd1):c2xc1xc0[17:3]; +reg [14:0] c2xc1xc0_r; +always@(posedge clk) + c2xc1xc0_r<=c2xc1xc0_w; + +assign sin_op_o=c2xc1xc0_r; +/* +reg[2:0] pha_indx_msb_r1; +reg[2:0] pha_indx_msb_r2; +reg[2:0] pha_indx_msb_r3; +reg[2:0] pha_indx_msb_r4; +reg[2:0] pha_indx_msb_r5; +reg[2:0] pha_indx_msb_r6; +reg[2:0] pha_indx_msb_r7; +always@(posedge clk) + begin + pha_indx_msb_r1<=pha_indx_msb_w; + pha_indx_msb_r2<=pha_indx_msb_r1; + pha_indx_msb_r3<=pha_indx_msb_r2; + pha_indx_msb_r4<=pha_indx_msb_r3; + pha_indx_msb_r5<=pha_indx_msb_r4; + pha_indx_msb_r6<=pha_indx_msb_r5; + pha_indx_msb_r7<=pha_indx_msb_r6; + end + +end +assign pha_indx_msb=pha_indx_msb_r7; +*/ +endmodule diff --git a/DA4008_V1.2/rtl/rstgen/rst_gen_unit.v b/DA4008_V1.3/rtl/rstgen/rst_gen_unit.v similarity index 100% rename from DA4008_V1.2/rtl/rstgen/rst_gen_unit.v rename to DA4008_V1.3/rtl/rstgen/rst_gen_unit.v diff --git a/DA4008_V1.2/rtl/rstgen/rst_sync.v b/DA4008_V1.3/rtl/rstgen/rst_sync.v similarity index 100% rename from DA4008_V1.2/rtl/rstgen/rst_sync.v rename to DA4008_V1.3/rtl/rstgen/rst_sync.v diff --git a/DA4008_V1.2/rtl/spi/spi_bus_decoder.sv b/DA4008_V1.3/rtl/spi/spi_bus_decoder.sv similarity index 100% rename from DA4008_V1.2/rtl/spi/spi_bus_decoder.sv rename to DA4008_V1.3/rtl/spi/spi_bus_decoder.sv diff --git a/DA4008_V1.2/rtl/spi/spi_pll.v b/DA4008_V1.3/rtl/spi/spi_pll.v similarity index 100% rename from DA4008_V1.2/rtl/spi/spi_pll.v rename to DA4008_V1.3/rtl/spi/spi_pll.v diff --git a/DA4008_V1.2/rtl/spi/spi_slave.v b/DA4008_V1.3/rtl/spi/spi_slave.v similarity index 100% rename from DA4008_V1.2/rtl/spi/spi_slave.v rename to DA4008_V1.3/rtl/spi/spi_slave.v diff --git a/DA4008_V1.2/rtl/spi/spi_sys.v b/DA4008_V1.3/rtl/spi/spi_sys.v similarity index 100% rename from DA4008_V1.2/rtl/spi/spi_sys.v rename to DA4008_V1.3/rtl/spi/spi_sys.v diff --git a/DA4008_V1.2/rtl/systemregfile/systemregfile.v b/DA4008_V1.3/rtl/systemregfile/systemregfile.v similarity index 81% rename from DA4008_V1.2/rtl/systemregfile/systemregfile.v rename to DA4008_V1.3/rtl/systemregfile/systemregfile.v index 6c104e9..c3546d4 100644 --- a/DA4008_V1.2/rtl/systemregfile/systemregfile.v +++ b/DA4008_V1.3/rtl/systemregfile/systemregfile.v @@ -103,6 +103,14 @@ //[0 ] --> cmd_fifo_full Masked Interrupt Status `define MISR 16'h64 +//NCO Frequency Control Word High Register +`define NCOFCWHR 16'h68 +//NCO Frequency Control Word Low Register +`define NCOFCWLR 16'h6C +//NCO Phase Control Word Register +`define NCOPCWR 16'h70 +//NCO Control Register +`define NCOCTLR 16'h74 module systemregfile # ( parameter CHIPCODE = 32'hDA400801 // 32'hDA400801:DA4008-01 ,parameter MFDATE = 32'h20260510 // The production date is May 10, 2026 @@ -126,7 +134,7 @@ module systemregfile # ( //Soft Reset out ,output sys_soft_rstn //Data Out Select port - ,output [0 :0] dout_sel //1'b0: Sram Data; 1'b1: Ramp Data; + ,output [2 :0] dout_sel //1'b0: Sram Data; 1'b1: Ramp Data; //SYNC Ctrl ,output [15 :0] sync_delay ,output int_sync @@ -150,12 +158,18 @@ module systemregfile # ( ,input train_ready ,input crc_error ,input phase_adj_req - ,input [2 :0] phase_tap - ,input [31 :0] frame_success_cnt - ,input [31 :0] crc_err_cnt + ,input [2 :0] phase_tap + ,input [31 :0] frame_success_cnt + ,input [31 :0] crc_err_cnt ,input prefilling - ,input [31 :0] train_status - ,input [31 :0] frame_status + ,input [31 :0] train_status + ,input [31 :0] frame_status + //NCO + ,output [47:0] nco_fcw + ,output [15:0] nco_pha + ,output nco_clr + ,output nco_en + ,output p2a_en ); localparam L = 1'b0, @@ -195,6 +209,12 @@ wire lvdsfstren ; // LVDSFSTR select wire lvdststren ; // LVDSTSTR select wire imren ; // IMR select wire misren ; // MISR select +wire ncofcwhren ; // NCOFCWHR select +wire ncofcwlren ; // NCOFCWLR select +wire ncopcwren ; // NCOPCWR select +wire ncoctrlren ; // NCOCTLR select + + // ------------------------------------------------------ // -- Register write enable wires // ------------------------------------------------------ @@ -209,9 +229,13 @@ wire lvdsftrwe ; // LVDSFTR write enable wire lvdsatrwe ; // LVDSATR write enable wire lvdstsrwe ; // LVDSTSR write enable wire lvdsthrwe ; // LVDSTHR write enable -wire lvdsdserwe ; // LVDSDSER write enable -wire lvdstaorwe ; // LVDSTAOR write enable +wire lvdsdserwe ; // LVDSDSER write enable +wire lvdstaorwe ; // LVDSTAOR write enable wire imrwe ; // IMR write enable +wire ncofcwhrwe ; // NCOFCWHR write enable +wire ncofcwlrwe ; // NCOFCWLR write enable +wire ncopcwrwe ; // NCOPCWR write enable +wire ncoctrlrwe ; // NCOCTLR write enable // ------------------------------------------------------ // -- Misc wires // ------------------------------------------------------ @@ -227,7 +251,7 @@ wire [0 :0] sfrr ; wire [18 :0] syncr ; wire [23 :0] rampctr ; wire [31 :0] rampifsr ; -wire [0 :0] doselr ; +wire [2 :0] doselr ; wire [0 :0] lvdsftr ; wire [0 :0] lvdsatr ; @@ -242,7 +266,11 @@ wire [0 :0] lvdstaor ; wire [31 :0] lvdsfstr ; wire [31 :0] lvdststr ; wire [5 :0] imr ; -wire [5 :0] misr ; +wire [5 :0] misr ; +wire [31 :0] ncofcwhr ; +wire [15 :0] ncofcwlr ; +wire [15 :0] ncopcwr ; +wire [2 :0] ncoctrlr ; reg [31 :0] rddata_reg ; @@ -280,6 +308,13 @@ assign lvdsfstren = (rwaddr[15:2] == `LVDSFSTR >> 2) ? 1'b1 : 1'b0; assign lvdststren = (rwaddr[15:2] == `LVDSTSTR >> 2) ? 1'b1 : 1'b0; assign imren = (rwaddr[15:2] == `IMR >> 2) ? 1'b1 : 1'b0; assign misren = (rwaddr[15:2] == `MISR >> 2) ? 1'b1 : 1'b0; + +assign ncofcwhren = (rwaddr[15:2] == `NCOFCWHR >> 2) ? 1'b1 : 1'b0; +assign ncofcwlren = (rwaddr[15:2] == `NCOFCWLR >> 2) ? 1'b1 : 1'b0; +assign ncopcwren = (rwaddr[15:2] == `NCOPCWR >> 2) ? 1'b1 : 1'b0; +assign ncoctrlren = (rwaddr[15:2] == `NCOCTLR >> 2) ? 1'b1 : 1'b0; + + // ------------------------------------------------------ // -- Write enable signals // @@ -299,7 +334,11 @@ assign lvdstfrwe = lvdstfren & wren; assign vdstsrwe = lvdstsren & wren; assign lvdsthrwe = lvdsthren & wren; assign lvdstamrwe = lvdstamren & wren; -assign lvdsdserwe = lvdstamren & wren; +assign lvdsdserwe = lvdsdseren & wren; +assign ncofcwhrwe = ncofcwhren & wren; +assign ncofcwlrwe = ncofcwlren & wren; +assign ncopcwrwe = ncopcwren & wren; +assign ncoctrlrwe = ncoctrlren & wren; assign imrwe = imren & wren; @@ -363,12 +402,12 @@ sirv_gnrl_dfflr #(32) ramp_ifs_dfflrs (rampifsrwe, wrdata[31:0], rampifsr, clk, // ------------------------------------------------------ // -- doselr register // -// Write doselr for 'DOSELR' : 1-bit register +// Write doselr for 'DOSELR' : 3-bit register // Register is split into the following bit fields // -// [0:0] --> doselr +// [2:0] --> doselr // ------------------------------------------------------ -sirv_gnrl_dfflr #(1) doselr_dfflrs (doselrwe, wrdata[0], doselr, clk, rst_n); +sirv_gnrl_dfflrd #(3) doselr_dfflrd (3'b001, doselrwe, wrdata[2:0], doselr, clk, rst_n); // ------------------------------------------------------ // -- lvdsftr Register @@ -494,6 +533,51 @@ sirv_gnrl_dffr #(32) lvdsfstr_dffr (frame_status, lvdsfstr, clk, rst_n); // ------------------------------------------------------ sirv_gnrl_dffr #(32) lvdststr_dffr (train_status, lvdststr, clk, rst_n); + +// ------------------------------------------------------ +// -- ncofcwhr register +// +// Write ncofcwhr for 'NCOFCWHR' : 32-bit register +// Register is split into the following bit fields +// +// [31:0] --> ncofcwhr +// ------------------------------------------------------ +sirv_gnrl_dfflrd #(32) ncofcwhr_dfflrd (32'b0, ncofcwhrwe, wrdata[31:0], ncofcwhr, clk, rst_n); + + +// ------------------------------------------------------ +// -- ncofcwlr register +// +// Write ncofcwlr for 'NCOFCWLR' : 32-bit register +// Register is split into the following bit fields +// +// [15:0] --> ncofcwlr +// ------------------------------------------------------ +sirv_gnrl_dfflrd #(16) ncofcwlr_dfflrd (16'b0, ncofcwlrwe, wrdata[15:0], ncofcwlr, clk, rst_n); + +// ------------------------------------------------------ +// -- ncopcwr register +// +// Write ncopcwr for 'NCOPCWR' : 32-bit register +// Register is split into the following bit fields +// +// [15:0] --> ncopcwr +// ------------------------------------------------------ +sirv_gnrl_dfflrd #(16) ncopcwr_dfflrd (16'b0, ncopcwrwe, wrdata[15:0], ncopcwr, clk, rst_n); + +// ------------------------------------------------------ +// -- NCO Contrl Register +// +// +// [2 ] --> nco_clr ,default value 1'b0 +// [1 ] --> nco_en ,default value 1'b0 +// [0 ] --> p2a_en ,default value 1'b0 +// ------------------------------------------------------ + +sirv_gnrl_dffr #(1) ncoctrlr2_dffr (ncoctrlrwe & wrdata[2], ncoctrlr[2], clk, rst_n); +sirv_gnrl_dfflrd #(2) ncoctrlr12_dfflrd (2'b0, ncoctrlrwe, wrdata[1:0], ncoctrlr[1:0], clk, rst_n); + + // --------------------------------------------------------------------------------------------------- // -- interrupt Mask Register // @@ -555,33 +639,39 @@ assign sys_soft_rstn = sys_soft_rstn_r; // ------------------------------------------------------ always @(*) begin : RDDATA_PROC rddata_reg = {32{1'b0}}; - if(idren == H) rddata_reg[31:0] = IDRD ; - if(vidren == H) rddata_reg[31:0] = VIDRD ; - if(dateren == H) rddata_reg[31:0] = DATERD ; - if(verren == H) rddata_reg[31:0] = VERSION ; - if(testren == H) rddata_reg[31:0] = testr ; - if(isren == H) rddata_reg[31:0] = isr ; - if(sfrtren == H) rddata_reg[31:0] = sfrtr ; - if(syncren == H) rddata_reg[18:0] = syncr ; - if(rampctren == H) rddata_reg[23:0] = rampctr ; - if(rampifsren == H) rddata_reg[31:0] = rampifsr ; - if(doselren == H) rddata_reg[0 :0] = doselr ; - if(lvdsftren == H) rddata_reg[0 :0] = lvdsftr ; - if(lvdstfren == H) rddata_reg[0 :0] = lvdstfr ; - if(lvdstsren == H) rddata_reg[2 :0] = lvdstsr ; - if(lvdsthren == H) rddata_reg[19:0] = lvdsthr ; - if(lvdssren == H) rddata_reg[7 :0] = lvdssr ; - if(lvdstamren == H) rddata_reg[2 :0] = lvdstamr ; - if(lvdsfcsren == H) rddata_reg[31:0] = lvdsfcsr ; - if(lvdscecren == H) rddata_reg[31:0] = lvdscecr ; - if(lvdsdseren == H) rddata_reg[0 :0] = lvdsdser ; - if(lvdstaoren == H) rddata_reg[0 :0] = lvdstaor ; - if(lvdsfstren == H) rddata_reg[31:0] = lvdsfstr ; - if(lvdststren == H) rddata_reg[31:0] = lvdststr ; - if(imren == H) rddata_reg[5 :0] = imr ; - if(misren == H) rddata_reg[5 :0] = misr ; + if(idren == H) rddata_reg[31:0] = IDRD ; + if(vidren == H) rddata_reg[31:0] = VIDRD ; + if(dateren == H) rddata_reg[31:0] = DATERD ; + if(verren == H) rddata_reg[31:0] = VERSION ; + if(testren == H) rddata_reg[31:0] = testr ; + if(isren == H) rddata_reg[31:0] = isr ; + if(sfrtren == H) rddata_reg[31:0] = sfrtr ; + if(syncren == H) rddata_reg[18:0] = syncr ; + if(rampctren == H) rddata_reg[23:0] = rampctr ; + if(rampifsren == H) rddata_reg[31:0] = rampifsr ; + if(doselren == H) rddata_reg[2 :0] = doselr ; + if(lvdsftren == H) rddata_reg[0 :0] = lvdsftr ; + if(lvdstfren == H) rddata_reg[0 :0] = lvdstfr ; + if(lvdstsren == H) rddata_reg[2 :0] = lvdstsr ; + if(lvdsthren == H) rddata_reg[19:0] = lvdsthr ; + if(lvdssren == H) rddata_reg[7 :0] = lvdssr ; + if(lvdstamren == H) rddata_reg[2 :0] = lvdstamr ; + if(lvdsfcsren == H) rddata_reg[31:0] = lvdsfcsr ; + if(lvdscecren == H) rddata_reg[31:0] = lvdscecr ; + if(lvdsdseren == H) rddata_reg[0 :0] = lvdsdser ; + if(lvdstaoren == H) rddata_reg[0 :0] = lvdstaor ; + if(lvdsfstren == H) rddata_reg[31:0] = lvdsfstr ; + if(lvdststren == H) rddata_reg[31:0] = lvdststr ; + if(imren == H) rddata_reg[5 :0] = imr ; + if(misren == H) rddata_reg[5 :0] = misr ; + if(ncofcwhren == H) rddata_reg[31:0] = ncofcwhr ; + if(ncofcwlren == H) rddata_reg[15:0] = ncofcwlr ; + if(ncopcwren == H) rddata_reg[15:0] = ncopcwr ; + if(ncoctrlren == H) rddata_reg[2 :0] = ncoctrlr ; end + + //rddata sirv_gnrl_dfflr #(32) rddata_dfflr (rden, rddata_reg, rddata, clk, rst_n); @@ -671,7 +761,7 @@ assign sync_delay = syncr[15:0] ; //Data Select assign dout_sel = doselr ; //RAMP cfg -assign ramp_en = doselr ; +assign ramp_en = doselr[0] ; assign ramp_step = rampctr[23:16] ; assign ramp_fixed_value = rampctr[15:8] ; assign ramp_fixed = rampctr[0] ; @@ -686,6 +776,13 @@ assign train_threshold = lvdsthr ; assign descram_en = lvdsdser; assign always_on = lvdstaor; +//NCO +assign nco_fcw = {ncofcwhr,ncofcwlr}; +assign nco_pha = ncopcwr ; +assign nco_clr = ncoctrlr[2] ; +assign nco_en = ncoctrlr[1] & doselr[2] ; +assign p2a_en = ncoctrlr[0] & doselr[2] ; + endmodule `undef IDR @@ -713,4 +810,8 @@ endmodule `undef LVDSFSTR `undef LVDSTSTR `undef IMR -`undef MISR +`undef MISR +`undef NCOFCWHR +`undef NCOFCWLR +`undef NCOPCWR +`undef NCOCTLR diff --git a/DA4008_V1.3/rtl/top/da4008_chip_top.sv b/DA4008_V1.3/rtl/top/da4008_chip_top.sv new file mode 100644 index 0000000..f66487e --- /dev/null +++ b/DA4008_V1.3/rtl/top/da4008_chip_top.sv @@ -0,0 +1,601 @@ + + +`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_POS_OUT0 + ,output [6 :0] MSB_POS_OUT1 + ,output [6 :0] MSB_POS_OUT2 + ,output [6 :0] MSB_POS_OUT3 + ,output [6 :0] MSB_POS_OUT4 + ,output [6 :0] MSB_POS_OUT5 + ,output [6 :0] MSB_POS_OUT6 + ,output [6 :0] MSB_POS_OUT7 + ,output [6 :0] MSB_POS_OUT8 + ,output [6 :0] MSB_POS_OUT9 + ,output [6 :0] MSB_POS_OUT10 + ,output [6 :0] MSB_POS_OUT11 + ,output [6 :0] MSB_POS_OUT12 + ,output [6 :0] MSB_POS_OUT13 + ,output [6 :0] MSB_POS_OUT14 + ,output [6 :0] MSB_POS_OUT15 + ,output [6 :0] MSB_POS_OUT16 + ,output [6 :0] MSB_POS_OUT17 + ,output [6 :0] MSB_POS_OUT18 + ,output [6 :0] MSB_POS_OUT19 + ,output [6 :0] MSB_POS_OUT20 + ,output [6 :0] MSB_POS_OUT21 + ,output [6 :0] MSB_POS_OUT22 + ,output [6 :0] MSB_POS_OUT23 + ,output [6 :0] MSB_POS_OUT24 + ,output [6 :0] MSB_POS_OUT25 + ,output [6 :0] MSB_POS_OUT26 + ,output [6 :0] MSB_POS_OUT27 + ,output [6 :0] MSB_POS_OUT28 + ,output [6 :0] MSB_POS_OUT29 + ,output [6 :0] MSB_POS_OUT30 + ,output [6 :0] MSB_POS_OUT31 + ,output [4 :0] LSB_POS_OUT0 + ,output [4 :0] LSB_POS_OUT1 + ,output [4 :0] LSB_POS_OUT2 + ,output [4 :0] LSB_POS_OUT3 + ,output [4 :0] LSB_POS_OUT4 + ,output [4 :0] LSB_POS_OUT5 + ,output [4 :0] LSB_POS_OUT6 + ,output [4 :0] LSB_POS_OUT7 + ,output [4 :0] LSB_POS_OUT8 + ,output [4 :0] LSB_POS_OUT9 + ,output [4 :0] LSB_POS_OUT10 + ,output [4 :0] LSB_POS_OUT11 + ,output [4 :0] LSB_POS_OUT12 + ,output [4 :0] LSB_POS_OUT13 + ,output [4 :0] LSB_POS_OUT14 + ,output [4 :0] LSB_POS_OUT15 + ,output [4 :0] LSB_POS_OUT16 + ,output [4 :0] LSB_POS_OUT17 + ,output [4 :0] LSB_POS_OUT18 + ,output [4 :0] LSB_POS_OUT19 + ,output [4 :0] LSB_POS_OUT20 + ,output [4 :0] LSB_POS_OUT21 + ,output [4 :0] LSB_POS_OUT22 + ,output [4 :0] LSB_POS_OUT23 + ,output [4 :0] LSB_POS_OUT24 + ,output [4 :0] LSB_POS_OUT25 + ,output [4 :0] LSB_POS_OUT26 + ,output [4 :0] LSB_POS_OUT27 + ,output [4 :0] LSB_POS_OUT28 + ,output [4 :0] LSB_POS_OUT29 + ,output [4 :0] LSB_POS_OUT30 + ,output [4 :0] LSB_POS_OUT31 + ,output [0 :0] MSB_POS_DUM0 + ,output [0 :0] MSB_POS_DUM1 + ,output [0 :0] MSB_POS_DUM2 + ,output [0 :0] MSB_POS_DUM3 + ,output [0 :0] MSB_POS_DUM4 + ,output [0 :0] MSB_POS_DUM5 + ,output [0 :0] MSB_POS_DUM6 + ,output [0 :0] MSB_POS_DUM7 + ,output [0 :0] MSB_POS_DUM8 + ,output [0 :0] MSB_POS_DUM9 + ,output [0 :0] MSB_POS_DUM10 + ,output [0 :0] MSB_POS_DUM11 + ,output [0 :0] MSB_POS_DUM12 + ,output [0 :0] MSB_POS_DUM13 + ,output [0 :0] MSB_POS_DUM14 + ,output [0 :0] MSB_POS_DUM15 + ,output [0 :0] MSB_POS_DUM16 + ,output [0 :0] MSB_POS_DUM17 + ,output [0 :0] MSB_POS_DUM18 + ,output [0 :0] MSB_POS_DUM19 + ,output [0 :0] MSB_POS_DUM20 + ,output [0 :0] MSB_POS_DUM21 + ,output [0 :0] MSB_POS_DUM22 + ,output [0 :0] MSB_POS_DUM23 + ,output [0 :0] MSB_POS_DUM24 + ,output [0 :0] MSB_POS_DUM25 + ,output [0 :0] MSB_POS_DUM26 + ,output [0 :0] MSB_POS_DUM27 + ,output [0 :0] MSB_POS_DUM28 + ,output [0 :0] MSB_POS_DUM29 + ,output [0 :0] MSB_POS_DUM30 + ,output [0 :0] MSB_POS_DUM31 + ,output [6 :0] MSB_NEG_OUT0 + ,output [6 :0] MSB_NEG_OUT1 + ,output [6 :0] MSB_NEG_OUT2 + ,output [6 :0] MSB_NEG_OUT3 + ,output [6 :0] MSB_NEG_OUT4 + ,output [6 :0] MSB_NEG_OUT5 + ,output [6 :0] MSB_NEG_OUT6 + ,output [6 :0] MSB_NEG_OUT7 + ,output [6 :0] MSB_NEG_OUT8 + ,output [6 :0] MSB_NEG_OUT9 + ,output [6 :0] MSB_NEG_OUT10 + ,output [6 :0] MSB_NEG_OUT11 + ,output [6 :0] MSB_NEG_OUT12 + ,output [6 :0] MSB_NEG_OUT13 + ,output [6 :0] MSB_NEG_OUT14 + ,output [6 :0] MSB_NEG_OUT15 + ,output [6 :0] MSB_NEG_OUT16 + ,output [6 :0] MSB_NEG_OUT17 + ,output [6 :0] MSB_NEG_OUT18 + ,output [6 :0] MSB_NEG_OUT19 + ,output [6 :0] MSB_NEG_OUT20 + ,output [6 :0] MSB_NEG_OUT21 + ,output [6 :0] MSB_NEG_OUT22 + ,output [6 :0] MSB_NEG_OUT23 + ,output [6 :0] MSB_NEG_OUT24 + ,output [6 :0] MSB_NEG_OUT25 + ,output [6 :0] MSB_NEG_OUT26 + ,output [6 :0] MSB_NEG_OUT27 + ,output [6 :0] MSB_NEG_OUT28 + ,output [6 :0] MSB_NEG_OUT29 + ,output [6 :0] MSB_NEG_OUT30 + ,output [6 :0] MSB_NEG_OUT31 + ,output [4 :0] LSB_NEG_OUT0 + ,output [4 :0] LSB_NEG_OUT1 + ,output [4 :0] LSB_NEG_OUT2 + ,output [4 :0] LSB_NEG_OUT3 + ,output [4 :0] LSB_NEG_OUT4 + ,output [4 :0] LSB_NEG_OUT5 + ,output [4 :0] LSB_NEG_OUT6 + ,output [4 :0] LSB_NEG_OUT7 + ,output [4 :0] LSB_NEG_OUT8 + ,output [4 :0] LSB_NEG_OUT9 + ,output [4 :0] LSB_NEG_OUT10 + ,output [4 :0] LSB_NEG_OUT11 + ,output [4 :0] LSB_NEG_OUT12 + ,output [4 :0] LSB_NEG_OUT13 + ,output [4 :0] LSB_NEG_OUT14 + ,output [4 :0] LSB_NEG_OUT15 + ,output [4 :0] LSB_NEG_OUT16 + ,output [4 :0] LSB_NEG_OUT17 + ,output [4 :0] LSB_NEG_OUT18 + ,output [4 :0] LSB_NEG_OUT19 + ,output [4 :0] LSB_NEG_OUT20 + ,output [4 :0] LSB_NEG_OUT21 + ,output [4 :0] LSB_NEG_OUT22 + ,output [4 :0] LSB_NEG_OUT23 + ,output [4 :0] LSB_NEG_OUT24 + ,output [4 :0] LSB_NEG_OUT25 + ,output [4 :0] LSB_NEG_OUT26 + ,output [4 :0] LSB_NEG_OUT27 + ,output [4 :0] LSB_NEG_OUT28 + ,output [4 :0] LSB_NEG_OUT29 + ,output [4 :0] LSB_NEG_OUT30 + ,output [4 :0] LSB_NEG_OUT31 + ,output [0 :0] MSB_NEG_DUM0 + ,output [0 :0] MSB_NEG_DUM1 + ,output [0 :0] MSB_NEG_DUM2 + ,output [0 :0] MSB_NEG_DUM3 + ,output [0 :0] MSB_NEG_DUM4 + ,output [0 :0] MSB_NEG_DUM5 + ,output [0 :0] MSB_NEG_DUM6 + ,output [0 :0] MSB_NEG_DUM7 + ,output [0 :0] MSB_NEG_DUM8 + ,output [0 :0] MSB_NEG_DUM9 + ,output [0 :0] MSB_NEG_DUM10 + ,output [0 :0] MSB_NEG_DUM11 + ,output [0 :0] MSB_NEG_DUM12 + ,output [0 :0] MSB_NEG_DUM13 + ,output [0 :0] MSB_NEG_DUM14 + ,output [0 :0] MSB_NEG_DUM15 + ,output [0 :0] MSB_NEG_DUM16 + ,output [0 :0] MSB_NEG_DUM17 + ,output [0 :0] MSB_NEG_DUM18 + ,output [0 :0] MSB_NEG_DUM19 + ,output [0 :0] MSB_NEG_DUM20 + ,output [0 :0] MSB_NEG_DUM21 + ,output [0 :0] MSB_NEG_DUM22 + ,output [0 :0] MSB_NEG_DUM23 + ,output [0 :0] MSB_NEG_DUM24 + ,output [0 :0] MSB_NEG_DUM25 + ,output [0 :0] MSB_NEG_DUM26 + ,output [0 :0] MSB_NEG_DUM27 + ,output [0 :0] MSB_NEG_DUM28 + ,output [0 :0] MSB_NEG_DUM29 + ,output [0 :0] MSB_NEG_DUM30 + ,output [0 :0] MSB_NEG_DUM31 + ,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 U_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); +wire [6 :0] MSB_POS_OUT_W [31:0] ; +wire [4 :0] LSB_POS_OUT_W [31:0] ; +wire MSB_POS_DUM_W [31:0] ; +wire [6 :0] MSB_NEG_OUT_W [31:0] ; +wire [4 :0] LSB_NEG_OUT_W [31:0] ; +wire MSB_NEG_DUM_W [31:0] ; +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_POS_OUT ( MSB_POS_OUT_W ) + ,.LSB_POS_OUT ( LSB_POS_OUT_W ) + ,.MSB_POS_DUM ( MSB_POS_DUM_W ) + ,.MSB_NEG_OUT ( MSB_NEG_OUT_W ) + ,.LSB_NEG_OUT ( LSB_NEG_OUT_W ) + ,.MSB_NEG_DUM ( MSB_NEG_DUM_W ) +); +//DAC Data +assign MSB_POS_OUT0 = MSB_POS_OUT_W[0 ]; +assign MSB_POS_OUT1 = MSB_POS_OUT_W[1 ]; +assign MSB_POS_OUT2 = MSB_POS_OUT_W[2 ]; +assign MSB_POS_OUT3 = MSB_POS_OUT_W[3 ]; +assign MSB_POS_OUT4 = MSB_POS_OUT_W[4 ]; +assign MSB_POS_OUT5 = MSB_POS_OUT_W[5 ]; +assign MSB_POS_OUT6 = MSB_POS_OUT_W[6 ]; +assign MSB_POS_OUT7 = MSB_POS_OUT_W[7 ]; +assign MSB_POS_OUT8 = MSB_POS_OUT_W[8 ]; +assign MSB_POS_OUT9 = MSB_POS_OUT_W[9 ]; +assign MSB_POS_OUT10 = MSB_POS_OUT_W[10]; +assign MSB_POS_OUT11 = MSB_POS_OUT_W[11]; +assign MSB_POS_OUT12 = MSB_POS_OUT_W[12]; +assign MSB_POS_OUT13 = MSB_POS_OUT_W[13]; +assign MSB_POS_OUT14 = MSB_POS_OUT_W[14]; +assign MSB_POS_OUT15 = MSB_POS_OUT_W[15]; +assign MSB_POS_OUT16 = MSB_POS_OUT_W[16]; +assign MSB_POS_OUT17 = MSB_POS_OUT_W[17]; +assign MSB_POS_OUT18 = MSB_POS_OUT_W[18]; +assign MSB_POS_OUT19 = MSB_POS_OUT_W[19]; +assign MSB_POS_OUT20 = MSB_POS_OUT_W[20]; +assign MSB_POS_OUT21 = MSB_POS_OUT_W[21]; +assign MSB_POS_OUT22 = MSB_POS_OUT_W[22]; +assign MSB_POS_OUT23 = MSB_POS_OUT_W[23]; +assign MSB_POS_OUT24 = MSB_POS_OUT_W[24]; +assign MSB_POS_OUT25 = MSB_POS_OUT_W[25]; +assign MSB_POS_OUT26 = MSB_POS_OUT_W[26]; +assign MSB_POS_OUT27 = MSB_POS_OUT_W[27]; +assign MSB_POS_OUT28 = MSB_POS_OUT_W[28]; +assign MSB_POS_OUT29 = MSB_POS_OUT_W[29]; +assign MSB_POS_OUT30 = MSB_POS_OUT_W[30]; +assign MSB_POS_OUT31 = MSB_POS_OUT_W[31]; +assign LSB_POS_OUT0 = LSB_POS_OUT_W[0 ]; +assign LSB_POS_OUT1 = LSB_POS_OUT_W[1 ]; +assign LSB_POS_OUT2 = LSB_POS_OUT_W[2 ]; +assign LSB_POS_OUT3 = LSB_POS_OUT_W[3 ]; +assign LSB_POS_OUT4 = LSB_POS_OUT_W[4 ]; +assign LSB_POS_OUT5 = LSB_POS_OUT_W[5 ]; +assign LSB_POS_OUT6 = LSB_POS_OUT_W[6 ]; +assign LSB_POS_OUT7 = LSB_POS_OUT_W[7 ]; +assign LSB_POS_OUT8 = LSB_POS_OUT_W[8 ]; +assign LSB_POS_OUT9 = LSB_POS_OUT_W[9 ]; +assign LSB_POS_OUT10 = LSB_POS_OUT_W[10]; +assign LSB_POS_OUT11 = LSB_POS_OUT_W[11]; +assign LSB_POS_OUT12 = LSB_POS_OUT_W[12]; +assign LSB_POS_OUT13 = LSB_POS_OUT_W[13]; +assign LSB_POS_OUT14 = LSB_POS_OUT_W[14]; +assign LSB_POS_OUT15 = LSB_POS_OUT_W[15]; +assign LSB_POS_OUT16 = LSB_POS_OUT_W[16]; +assign LSB_POS_OUT17 = LSB_POS_OUT_W[17]; +assign LSB_POS_OUT18 = LSB_POS_OUT_W[18]; +assign LSB_POS_OUT19 = LSB_POS_OUT_W[19]; +assign LSB_POS_OUT20 = LSB_POS_OUT_W[20]; +assign LSB_POS_OUT21 = LSB_POS_OUT_W[21]; +assign LSB_POS_OUT22 = LSB_POS_OUT_W[22]; +assign LSB_POS_OUT23 = LSB_POS_OUT_W[23]; +assign LSB_POS_OUT24 = LSB_POS_OUT_W[24]; +assign LSB_POS_OUT25 = LSB_POS_OUT_W[25]; +assign LSB_POS_OUT26 = LSB_POS_OUT_W[26]; +assign LSB_POS_OUT27 = LSB_POS_OUT_W[27]; +assign LSB_POS_OUT28 = LSB_POS_OUT_W[28]; +assign LSB_POS_OUT29 = LSB_POS_OUT_W[29]; +assign LSB_POS_OUT30 = LSB_POS_OUT_W[30]; +assign LSB_POS_OUT31 = LSB_POS_OUT_W[31]; +assign MSB_POS_DUM0 = MSB_POS_DUM_W[0 ]; +assign MSB_POS_DUM1 = MSB_POS_DUM_W[1 ]; +assign MSB_POS_DUM2 = MSB_POS_DUM_W[2 ]; +assign MSB_POS_DUM3 = MSB_POS_DUM_W[3 ]; +assign MSB_POS_DUM4 = MSB_POS_DUM_W[4 ]; +assign MSB_POS_DUM5 = MSB_POS_DUM_W[5 ]; +assign MSB_POS_DUM6 = MSB_POS_DUM_W[6 ]; +assign MSB_POS_DUM7 = MSB_POS_DUM_W[7 ]; +assign MSB_POS_DUM8 = MSB_POS_DUM_W[8 ]; +assign MSB_POS_DUM9 = MSB_POS_DUM_W[9 ]; +assign MSB_POS_DUM10 = MSB_POS_DUM_W[10]; +assign MSB_POS_DUM11 = MSB_POS_DUM_W[11]; +assign MSB_POS_DUM12 = MSB_POS_DUM_W[12]; +assign MSB_POS_DUM13 = MSB_POS_DUM_W[13]; +assign MSB_POS_DUM14 = MSB_POS_DUM_W[14]; +assign MSB_POS_DUM15 = MSB_POS_DUM_W[15]; +assign MSB_POS_DUM16 = MSB_POS_DUM_W[16]; +assign MSB_POS_DUM17 = MSB_POS_DUM_W[17]; +assign MSB_POS_DUM18 = MSB_POS_DUM_W[18]; +assign MSB_POS_DUM19 = MSB_POS_DUM_W[19]; +assign MSB_POS_DUM20 = MSB_POS_DUM_W[20]; +assign MSB_POS_DUM21 = MSB_POS_DUM_W[21]; +assign MSB_POS_DUM22 = MSB_POS_DUM_W[22]; +assign MSB_POS_DUM23 = MSB_POS_DUM_W[23]; +assign MSB_POS_DUM24 = MSB_POS_DUM_W[24]; +assign MSB_POS_DUM25 = MSB_POS_DUM_W[25]; +assign MSB_POS_DUM26 = MSB_POS_DUM_W[26]; +assign MSB_POS_DUM27 = MSB_POS_DUM_W[27]; +assign MSB_POS_DUM28 = MSB_POS_DUM_W[28]; +assign MSB_POS_DUM29 = MSB_POS_DUM_W[29]; +assign MSB_POS_DUM30 = MSB_POS_DUM_W[30]; +assign MSB_POS_DUM31 = MSB_POS_DUM_W[31]; +assign MSB_NEG_OUT0 = MSB_NEG_OUT_W[0 ]; +assign MSB_NEG_OUT1 = MSB_NEG_OUT_W[1 ]; +assign MSB_NEG_OUT2 = MSB_NEG_OUT_W[2 ]; +assign MSB_NEG_OUT3 = MSB_NEG_OUT_W[3 ]; +assign MSB_NEG_OUT4 = MSB_NEG_OUT_W[4 ]; +assign MSB_NEG_OUT5 = MSB_NEG_OUT_W[5 ]; +assign MSB_NEG_OUT6 = MSB_NEG_OUT_W[6 ]; +assign MSB_NEG_OUT7 = MSB_NEG_OUT_W[7 ]; +assign MSB_NEG_OUT8 = MSB_NEG_OUT_W[8 ]; +assign MSB_NEG_OUT9 = MSB_NEG_OUT_W[9 ]; +assign MSB_NEG_OUT10 = MSB_NEG_OUT_W[10]; +assign MSB_NEG_OUT11 = MSB_NEG_OUT_W[11]; +assign MSB_NEG_OUT12 = MSB_NEG_OUT_W[12]; +assign MSB_NEG_OUT13 = MSB_NEG_OUT_W[13]; +assign MSB_NEG_OUT14 = MSB_NEG_OUT_W[14]; +assign MSB_NEG_OUT15 = MSB_NEG_OUT_W[15]; +assign MSB_NEG_OUT16 = MSB_NEG_OUT_W[16]; +assign MSB_NEG_OUT17 = MSB_NEG_OUT_W[17]; +assign MSB_NEG_OUT18 = MSB_NEG_OUT_W[18]; +assign MSB_NEG_OUT19 = MSB_NEG_OUT_W[19]; +assign MSB_NEG_OUT20 = MSB_NEG_OUT_W[20]; +assign MSB_NEG_OUT21 = MSB_NEG_OUT_W[21]; +assign MSB_NEG_OUT22 = MSB_NEG_OUT_W[22]; +assign MSB_NEG_OUT23 = MSB_NEG_OUT_W[23]; +assign MSB_NEG_OUT24 = MSB_NEG_OUT_W[24]; +assign MSB_NEG_OUT25 = MSB_NEG_OUT_W[25]; +assign MSB_NEG_OUT26 = MSB_NEG_OUT_W[26]; +assign MSB_NEG_OUT27 = MSB_NEG_OUT_W[27]; +assign MSB_NEG_OUT28 = MSB_NEG_OUT_W[28]; +assign MSB_NEG_OUT29 = MSB_NEG_OUT_W[29]; +assign MSB_NEG_OUT30 = MSB_NEG_OUT_W[30]; +assign MSB_NEG_OUT31 = MSB_NEG_OUT_W[31]; +assign LSB_NEG_OUT0 = LSB_NEG_OUT_W[0 ]; +assign LSB_NEG_OUT1 = LSB_NEG_OUT_W[1 ]; +assign LSB_NEG_OUT2 = LSB_NEG_OUT_W[2 ]; +assign LSB_NEG_OUT3 = LSB_NEG_OUT_W[3 ]; +assign LSB_NEG_OUT4 = LSB_NEG_OUT_W[4 ]; +assign LSB_NEG_OUT5 = LSB_NEG_OUT_W[5 ]; +assign LSB_NEG_OUT6 = LSB_NEG_OUT_W[6 ]; +assign LSB_NEG_OUT7 = LSB_NEG_OUT_W[7 ]; +assign LSB_NEG_OUT8 = LSB_NEG_OUT_W[8 ]; +assign LSB_NEG_OUT9 = LSB_NEG_OUT_W[9 ]; +assign LSB_NEG_OUT10 = LSB_NEG_OUT_W[10]; +assign LSB_NEG_OUT11 = LSB_NEG_OUT_W[11]; +assign LSB_NEG_OUT12 = LSB_NEG_OUT_W[12]; +assign LSB_NEG_OUT13 = LSB_NEG_OUT_W[13]; +assign LSB_NEG_OUT14 = LSB_NEG_OUT_W[14]; +assign LSB_NEG_OUT15 = LSB_NEG_OUT_W[15]; +assign LSB_NEG_OUT16 = LSB_NEG_OUT_W[16]; +assign LSB_NEG_OUT17 = LSB_NEG_OUT_W[17]; +assign LSB_NEG_OUT18 = LSB_NEG_OUT_W[18]; +assign LSB_NEG_OUT19 = LSB_NEG_OUT_W[19]; +assign LSB_NEG_OUT20 = LSB_NEG_OUT_W[20]; +assign LSB_NEG_OUT21 = LSB_NEG_OUT_W[21]; +assign LSB_NEG_OUT22 = LSB_NEG_OUT_W[22]; +assign LSB_NEG_OUT23 = LSB_NEG_OUT_W[23]; +assign LSB_NEG_OUT24 = LSB_NEG_OUT_W[24]; +assign LSB_NEG_OUT25 = LSB_NEG_OUT_W[25]; +assign LSB_NEG_OUT26 = LSB_NEG_OUT_W[26]; +assign LSB_NEG_OUT27 = LSB_NEG_OUT_W[27]; +assign LSB_NEG_OUT28 = LSB_NEG_OUT_W[28]; +assign LSB_NEG_OUT29 = LSB_NEG_OUT_W[29]; +assign LSB_NEG_OUT30 = LSB_NEG_OUT_W[30]; +assign LSB_NEG_OUT31 = LSB_NEG_OUT_W[31]; +assign MSB_NEG_DUM0 = MSB_NEG_DUM_W[0 ]; +assign MSB_NEG_DUM1 = MSB_NEG_DUM_W[1 ]; +assign MSB_NEG_DUM2 = MSB_NEG_DUM_W[2 ]; +assign MSB_NEG_DUM3 = MSB_NEG_DUM_W[3 ]; +assign MSB_NEG_DUM4 = MSB_NEG_DUM_W[4 ]; +assign MSB_NEG_DUM5 = MSB_NEG_DUM_W[5 ]; +assign MSB_NEG_DUM6 = MSB_NEG_DUM_W[6 ]; +assign MSB_NEG_DUM7 = MSB_NEG_DUM_W[7 ]; +assign MSB_NEG_DUM8 = MSB_NEG_DUM_W[8 ]; +assign MSB_NEG_DUM9 = MSB_NEG_DUM_W[9 ]; +assign MSB_NEG_DUM10 = MSB_NEG_DUM_W[10]; +assign MSB_NEG_DUM11 = MSB_NEG_DUM_W[11]; +assign MSB_NEG_DUM12 = MSB_NEG_DUM_W[12]; +assign MSB_NEG_DUM13 = MSB_NEG_DUM_W[13]; +assign MSB_NEG_DUM14 = MSB_NEG_DUM_W[14]; +assign MSB_NEG_DUM15 = MSB_NEG_DUM_W[15]; +assign MSB_NEG_DUM16 = MSB_NEG_DUM_W[16]; +assign MSB_NEG_DUM17 = MSB_NEG_DUM_W[17]; +assign MSB_NEG_DUM18 = MSB_NEG_DUM_W[18]; +assign MSB_NEG_DUM19 = MSB_NEG_DUM_W[19]; +assign MSB_NEG_DUM20 = MSB_NEG_DUM_W[20]; +assign MSB_NEG_DUM21 = MSB_NEG_DUM_W[21]; +assign MSB_NEG_DUM22 = MSB_NEG_DUM_W[22]; +assign MSB_NEG_DUM23 = MSB_NEG_DUM_W[23]; +assign MSB_NEG_DUM24 = MSB_NEG_DUM_W[24]; +assign MSB_NEG_DUM25 = MSB_NEG_DUM_W[25]; +assign MSB_NEG_DUM26 = MSB_NEG_DUM_W[26]; +assign MSB_NEG_DUM27 = MSB_NEG_DUM_W[27]; +assign MSB_NEG_DUM28 = MSB_NEG_DUM_W[28]; +assign MSB_NEG_DUM29 = MSB_NEG_DUM_W[29]; +assign MSB_NEG_DUM30 = MSB_NEG_DUM_W[30]; +assign MSB_NEG_DUM31 = MSB_NEG_DUM_W[31]; +endmodule + +`include "../define/chip_undefine.v" + diff --git a/DA4008_V1.2/rtl/top/digital_top.sv b/DA4008_V1.3/rtl/top/digital_top.sv similarity index 89% rename from DA4008_V1.2/rtl/top/digital_top.sv rename to DA4008_V1.3/rtl/top/digital_top.sv index cb5c5fb..1ec6f42 100644 --- a/DA4008_V1.2/rtl/top/digital_top.sv +++ b/DA4008_V1.3/rtl/top/digital_top.sv @@ -38,7 +38,7 @@ module digital_top ( input clk // System Main Clock ,input rst_n // Spi Reset active low ,input sync_in - ,input sync_out + ,output sync_out //spi port ,input [4 :0] cfgid ,input sclk // Spi Clock @@ -171,7 +171,7 @@ spi_bus_decoder #( wire [2 :0] awg_status ; wire awg_busy ; wire sys_soft_rstn ; -wire dout_sel ; +wire [2 :0] dout_sel ; wire [15 :0] sync_delay ; wire int_sync ; wire int_sync_en ; @@ -199,6 +199,12 @@ wire [31 :0] crc_err_cnt ; wire prefilling ; wire [31 :0] train_status ; wire [31 :0] frame_status ; +//NCO +wire [47 :0] nco_fcw ; +wire [15 :0] nco_pha ; +wire nco_clr ; +wire nco_en ; +wire p2a_en ; systemregfile U_systemregfile ( .clk ( clk ) @@ -241,6 +247,11 @@ systemregfile U_systemregfile ( ,.prefilling ( prefilling ) ,.train_status ( train_status ) ,.frame_status ( frame_status ) + ,.nco_fcw ( nco_fcw ) + ,.nco_pha ( nco_pha ) + ,.nco_clr ( nco_clr ) + ,.nco_en ( nco_en ) + ,.p2a_en ( p2a_en ) ); @@ -319,7 +330,7 @@ wire [63 :0] wave_awrmask ; ulink_rx #( .FIFO_DEPTH ( FIFO_DEPTH ) ,.SCRAMBLER_SEED ( SCRAMBLER_SEED ) -) dut ( +) U_ulink_rx ( .clk ( clk ) ,.rst_n ( pll_rstn_o ) ,.serial_in ( dst_data ) @@ -355,8 +366,8 @@ wire sync_int; wire sync_pulse; syncer #(1, 2) sync_in_syncer (clk, pll_rstn_o, sync_in, sync_int); -sirv_gnrl_dffr #(1) sync_out_dffr (sync_pulse & sync_oen, sync_out, clk, rst_n); -assign sync_out = sync_pulse; +sirv_gnrl_dffr #(1) sync_out_dffr (sync_pulse & sync_oen, sync_out, clk, pll_rstn_o); + //--------------------------------------------------------------------------------------------- // Synchronization Signal Delay Adjustment Module instantiation start //--------------------------------------------------------------------------------------------- @@ -426,7 +437,7 @@ wire ramp_vld; ramp_gen U_ramp_gen ( //system port .clk ( clk ) - ,.rst_n ( rst_n ) + ,.rst_n ( ch0_rstn_o ) ,.dac_mode_sel ( 2'b10 ) ,.cen ( ramp_en ) ,.step ( ramp_step ) @@ -437,10 +448,53 @@ ramp_gen U_ramp_gen ( ,.ramp_vld ( ramp_vld ) ); +//------------------------------------------------------------------------------------------ +// 64ch NCO +//------------------------------------------------------------------------------------------ +wire [7:0] cos [63:0] ; +wire [7:0] sin [63:0] ; -wire [7 :0] wave_data_out_i [63:0] = dout_sel ? ramp_data : awg_data_out ; -wire wave_data_valid_i = dout_sel ? ramp_vld : awg_data_valid ; +NCO #( + .WIDTH ( 8 ) + ,.PARALLEL ( 64 ) +) U_NCO ( + .clk ( clk ) + ,.rstn ( ch0_rstn_o ) + ,.phase_manual_clr ( nco_clr ) + ,.phase_auto_clr ( nco_clr ) + ,.fcw ( nco_fcw ) + ,.pha ( nco_pha ) + ,.nco_en ( nco_en ) + ,.p2a_en ( p2a_en ) + ,.cos ( cos ) + ,.sin ( sin ) + ); + +//------------------------------------------------------------------------------------------ +// dout_mux +//------------------------------------------------------------------------------------------ + +wire [7 :0] wave_data_out_i [63:0]; +wire wave_data_valid_i; + +dout_mux #( + .PARALLEL ( 64 ) +) U_modout_mux ( + . clk ( clk ) + ,. rst_n ( ch0_rstn_o ) + ,. sel ( dout_sel ) + ,.data0 ( awg_data_out ) + ,.data0_vld ( awg_data_valid ) + ,.data1 ( ramp_data ) + ,.data1_vld ( ramp_vld ) + ,.data2 ( sin ) + ,.data2_vld ( nco_en & p2a_en ) + ,.mux_data ( wave_data_out_i ) + ,.mux_data_vld ( wave_data_valid_i ) +); + + //--------------------------------------------------------------------------------------------- // dacif instantiation start //--------------------------------------------------------------------------------------------- @@ -480,7 +534,7 @@ dac_regfile U_dac_regfile ( // clk_regfile instantiation start //--------------------------------------------------------------------------------------------- clk_regfile U_clk_regfile ( - .clk ( clk ) + .clk ( sclk ) ,.rstn ( pll_rstn_o ) ,.wrdata ( clk_wrdata ) ,.wren ( clk_wren ) @@ -527,3 +581,4 @@ clk_regfile U_clk_regfile ( endmodule `include "../define/chip_undefine.v" + diff --git a/DA4008_V1.2/sim/chip_top/Makefile b/DA4008_V1.3/sim/chip_top/Makefile similarity index 100% rename from DA4008_V1.2/sim/chip_top/Makefile rename to DA4008_V1.3/sim/chip_top/Makefile diff --git a/DA4008_V1.2/sim/chip_top/TB.sv.bak b/DA4008_V1.3/sim/chip_top/TB.sv similarity index 50% rename from DA4008_V1.2/sim/chip_top/TB.sv.bak rename to DA4008_V1.3/sim/chip_top/TB.sv index 3abfd59..131bddd 100644 --- a/DA4008_V1.2/sim/chip_top/TB.sv.bak +++ b/DA4008_V1.3/sim/chip_top/TB.sv @@ -75,6 +75,8 @@ initial begin spi_bus.mosi = 1'b0; spi_bus.csn = 1'b1; vif = spi_bus; + lvds_bus.data = 'b0; + lvds_bus.valid = 'b0; lvds_vif = lvds_bus; end @@ -98,17 +100,19 @@ initial begin # 20; rst_n = 1'b1; + file_path = $fopen(DATA_O_FILE, "w"); + my_drv.do_drive(file_path); + $fclose(file_path); + //lvds_drv.do_drive(); - lvds_drv.train_count = 100; // - lvds_drv.send_training(); // - lvds_drv.scrambler_en = 1; - lvds_drv.send_frame_from_file(LVDS_FILE); // + lvds_drv.train_count = 100; // ÉèÖÃѵÁ·´ÎÊý + lvds_drv.send_training(); // ·¢ËÍѵÁ·ÐòÁÐ + //lvds_drv.scrambler_en = 1; + lvds_drv.send_frame_from_file(LVDS_FILE); // ·¢ËÍÊý¾ÝÖ¡ - file_path = $fopen(DATA_O_FILE, "w"); - my_drv.do_drive(file_path); - $fclose(file_path); + - # 30; + # 3000; start = 1'b1; # PERIOD; # PERIOD; @@ -137,12 +141,6 @@ initial begin start = 1'b0; # 30000; - - start = 1'b1; - # PERIOD; - # PERIOD; - start = 1'b0; - # 30000; $finish(0); end @@ -160,10 +158,14 @@ 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 ; +logic [6 :0] MSB_POS_OUT [31:0] ; +logic [4 :0] LSB_POS_OUT [31:0] ; +logic MSB_POS_DUM [31:0] ; +logic [6 :0] MSB_NEG_OUT [31:0] ; +logic [4 :0] LSB_NEG_OUT [31:0] ; +logic MSB_NEG_DUM [31:0] ; +logic DEM_VLD ; + //DAC Cfg Port logic [3 :0] Rterm ; logic [2 :0] CasAddr ; @@ -209,7 +211,7 @@ logic [31 :0] p2srsv1 ; logic [15 :0] CkRxSw ; logic [15 :0] RstnCk ; logic [15 :0] CtrlZin ; - +logic [2 :0] phase_tap ; da4008_chip_top U_da4008_chip_top ( .PI_sclk ( spi_bus.sclk ) @@ -223,10 +225,200 @@ da4008_chip_top U_da4008_chip_top ( ,.clk ( clk ) ,.lvds_data ( lvds_bus.data ) ,.lvds_valid ( lvds_bus.valid ) + ,.phase_tap ( phase_tap ) ,.lvds_clk ( lvds_bus.clk ) - ,.MSB_OUT ( MSB_OUT ) - ,.LSB_OUT ( LSB_OUT ) - ,.MSB_DUM ( MSB_DUM ) + ,.MSB_POS_OUT0 ( MSB_POS_OUT[0 ] ) + ,.MSB_POS_OUT1 ( MSB_POS_OUT[1 ] ) + ,.MSB_POS_OUT2 ( MSB_POS_OUT[2 ] ) + ,.MSB_POS_OUT3 ( MSB_POS_OUT[3 ] ) + ,.MSB_POS_OUT4 ( MSB_POS_OUT[4 ] ) + ,.MSB_POS_OUT5 ( MSB_POS_OUT[5 ] ) + ,.MSB_POS_OUT6 ( MSB_POS_OUT[6 ] ) + ,.MSB_POS_OUT7 ( MSB_POS_OUT[7 ] ) + ,.MSB_POS_OUT8 ( MSB_POS_OUT[8 ] ) + ,.MSB_POS_OUT9 ( MSB_POS_OUT[9 ] ) + ,.MSB_POS_OUT10 ( MSB_POS_OUT[10] ) + ,.MSB_POS_OUT11 ( MSB_POS_OUT[11] ) + ,.MSB_POS_OUT12 ( MSB_POS_OUT[12] ) + ,.MSB_POS_OUT13 ( MSB_POS_OUT[13] ) + ,.MSB_POS_OUT14 ( MSB_POS_OUT[14] ) + ,.MSB_POS_OUT15 ( MSB_POS_OUT[15] ) + ,.MSB_POS_OUT16 ( MSB_POS_OUT[16] ) + ,.MSB_POS_OUT17 ( MSB_POS_OUT[17] ) + ,.MSB_POS_OUT18 ( MSB_POS_OUT[18] ) + ,.MSB_POS_OUT19 ( MSB_POS_OUT[19] ) + ,.MSB_POS_OUT20 ( MSB_POS_OUT[20] ) + ,.MSB_POS_OUT21 ( MSB_POS_OUT[21] ) + ,.MSB_POS_OUT22 ( MSB_POS_OUT[22] ) + ,.MSB_POS_OUT23 ( MSB_POS_OUT[23] ) + ,.MSB_POS_OUT24 ( MSB_POS_OUT[24] ) + ,.MSB_POS_OUT25 ( MSB_POS_OUT[25] ) + ,.MSB_POS_OUT26 ( MSB_POS_OUT[26] ) + ,.MSB_POS_OUT27 ( MSB_POS_OUT[27] ) + ,.MSB_POS_OUT28 ( MSB_POS_OUT[28] ) + ,.MSB_POS_OUT29 ( MSB_POS_OUT[29] ) + ,.MSB_POS_OUT30 ( MSB_POS_OUT[30] ) + ,.MSB_POS_OUT31 ( MSB_POS_OUT[31] ) + ,.LSB_POS_OUT0 ( LSB_POS_OUT[0 ] ) + ,.LSB_POS_OUT1 ( LSB_POS_OUT[1 ] ) + ,.LSB_POS_OUT2 ( LSB_POS_OUT[2 ] ) + ,.LSB_POS_OUT3 ( LSB_POS_OUT[3 ] ) + ,.LSB_POS_OUT4 ( LSB_POS_OUT[4 ] ) + ,.LSB_POS_OUT5 ( LSB_POS_OUT[5 ] ) + ,.LSB_POS_OUT6 ( LSB_POS_OUT[6 ] ) + ,.LSB_POS_OUT7 ( LSB_POS_OUT[7 ] ) + ,.LSB_POS_OUT8 ( LSB_POS_OUT[8 ] ) + ,.LSB_POS_OUT9 ( LSB_POS_OUT[9 ] ) + ,.LSB_POS_OUT10 ( LSB_POS_OUT[10] ) + ,.LSB_POS_OUT11 ( LSB_POS_OUT[11] ) + ,.LSB_POS_OUT12 ( LSB_POS_OUT[12] ) + ,.LSB_POS_OUT13 ( LSB_POS_OUT[13] ) + ,.LSB_POS_OUT14 ( LSB_POS_OUT[14] ) + ,.LSB_POS_OUT15 ( LSB_POS_OUT[15] ) + ,.LSB_POS_OUT16 ( LSB_POS_OUT[16] ) + ,.LSB_POS_OUT17 ( LSB_POS_OUT[17] ) + ,.LSB_POS_OUT18 ( LSB_POS_OUT[18] ) + ,.LSB_POS_OUT19 ( LSB_POS_OUT[19] ) + ,.LSB_POS_OUT20 ( LSB_POS_OUT[20] ) + ,.LSB_POS_OUT21 ( LSB_POS_OUT[21] ) + ,.LSB_POS_OUT22 ( LSB_POS_OUT[22] ) + ,.LSB_POS_OUT23 ( LSB_POS_OUT[23] ) + ,.LSB_POS_OUT24 ( LSB_POS_OUT[24] ) + ,.LSB_POS_OUT25 ( LSB_POS_OUT[25] ) + ,.LSB_POS_OUT26 ( LSB_POS_OUT[26] ) + ,.LSB_POS_OUT27 ( LSB_POS_OUT[27] ) + ,.LSB_POS_OUT28 ( LSB_POS_OUT[28] ) + ,.LSB_POS_OUT29 ( LSB_POS_OUT[29] ) + ,.LSB_POS_OUT30 ( LSB_POS_OUT[30] ) + ,.LSB_POS_OUT31 ( LSB_POS_OUT[31] ) + ,.MSB_POS_DUM0 ( MSB_POS_DUM[0 ] ) + ,.MSB_POS_DUM1 ( MSB_POS_DUM[1 ] ) + ,.MSB_POS_DUM2 ( MSB_POS_DUM[2 ] ) + ,.MSB_POS_DUM3 ( MSB_POS_DUM[3 ] ) + ,.MSB_POS_DUM4 ( MSB_POS_DUM[4 ] ) + ,.MSB_POS_DUM5 ( MSB_POS_DUM[5 ] ) + ,.MSB_POS_DUM6 ( MSB_POS_DUM[6 ] ) + ,.MSB_POS_DUM7 ( MSB_POS_DUM[7 ] ) + ,.MSB_POS_DUM8 ( MSB_POS_DUM[8 ] ) + ,.MSB_POS_DUM9 ( MSB_POS_DUM[9 ] ) + ,.MSB_POS_DUM10 ( MSB_POS_DUM[10] ) + ,.MSB_POS_DUM11 ( MSB_POS_DUM[11] ) + ,.MSB_POS_DUM12 ( MSB_POS_DUM[12] ) + ,.MSB_POS_DUM13 ( MSB_POS_DUM[13] ) + ,.MSB_POS_DUM14 ( MSB_POS_DUM[14] ) + ,.MSB_POS_DUM15 ( MSB_POS_DUM[15] ) + ,.MSB_POS_DUM16 ( MSB_POS_DUM[16] ) + ,.MSB_POS_DUM17 ( MSB_POS_DUM[17] ) + ,.MSB_POS_DUM18 ( MSB_POS_DUM[18] ) + ,.MSB_POS_DUM19 ( MSB_POS_DUM[19] ) + ,.MSB_POS_DUM20 ( MSB_POS_DUM[20] ) + ,.MSB_POS_DUM21 ( MSB_POS_DUM[21] ) + ,.MSB_POS_DUM22 ( MSB_POS_DUM[22] ) + ,.MSB_POS_DUM23 ( MSB_POS_DUM[23] ) + ,.MSB_POS_DUM24 ( MSB_POS_DUM[24] ) + ,.MSB_POS_DUM25 ( MSB_POS_DUM[25] ) + ,.MSB_POS_DUM26 ( MSB_POS_DUM[26] ) + ,.MSB_POS_DUM27 ( MSB_POS_DUM[27] ) + ,.MSB_POS_DUM28 ( MSB_POS_DUM[28] ) + ,.MSB_POS_DUM29 ( MSB_POS_DUM[29] ) + ,.MSB_POS_DUM30 ( MSB_POS_DUM[30] ) + ,.MSB_POS_DUM31 ( MSB_POS_DUM[31] ) + ,.MSB_NEG_OUT0 ( MSB_NEG_OUT[0 ] ) + ,.MSB_NEG_OUT1 ( MSB_NEG_OUT[1 ] ) + ,.MSB_NEG_OUT2 ( MSB_NEG_OUT[2 ] ) + ,.MSB_NEG_OUT3 ( MSB_NEG_OUT[3 ] ) + ,.MSB_NEG_OUT4 ( MSB_NEG_OUT[4 ] ) + ,.MSB_NEG_OUT5 ( MSB_NEG_OUT[5 ] ) + ,.MSB_NEG_OUT6 ( MSB_NEG_OUT[6 ] ) + ,.MSB_NEG_OUT7 ( MSB_NEG_OUT[7 ] ) + ,.MSB_NEG_OUT8 ( MSB_NEG_OUT[8 ] ) + ,.MSB_NEG_OUT9 ( MSB_NEG_OUT[9 ] ) + ,.MSB_NEG_OUT10 ( MSB_NEG_OUT[10] ) + ,.MSB_NEG_OUT11 ( MSB_NEG_OUT[11] ) + ,.MSB_NEG_OUT12 ( MSB_NEG_OUT[12] ) + ,.MSB_NEG_OUT13 ( MSB_NEG_OUT[13] ) + ,.MSB_NEG_OUT14 ( MSB_NEG_OUT[14] ) + ,.MSB_NEG_OUT15 ( MSB_NEG_OUT[15] ) + ,.MSB_NEG_OUT16 ( MSB_NEG_OUT[16] ) + ,.MSB_NEG_OUT17 ( MSB_NEG_OUT[17] ) + ,.MSB_NEG_OUT18 ( MSB_NEG_OUT[18] ) + ,.MSB_NEG_OUT19 ( MSB_NEG_OUT[19] ) + ,.MSB_NEG_OUT20 ( MSB_NEG_OUT[20] ) + ,.MSB_NEG_OUT21 ( MSB_NEG_OUT[21] ) + ,.MSB_NEG_OUT22 ( MSB_NEG_OUT[22] ) + ,.MSB_NEG_OUT23 ( MSB_NEG_OUT[23] ) + ,.MSB_NEG_OUT24 ( MSB_NEG_OUT[24] ) + ,.MSB_NEG_OUT25 ( MSB_NEG_OUT[25] ) + ,.MSB_NEG_OUT26 ( MSB_NEG_OUT[26] ) + ,.MSB_NEG_OUT27 ( MSB_NEG_OUT[27] ) + ,.MSB_NEG_OUT28 ( MSB_NEG_OUT[28] ) + ,.MSB_NEG_OUT29 ( MSB_NEG_OUT[29] ) + ,.MSB_NEG_OUT30 ( MSB_NEG_OUT[30] ) + ,.MSB_NEG_OUT31 ( MSB_NEG_OUT[31] ) + ,.LSB_NEG_OUT0 ( LSB_NEG_OUT[0 ] ) + ,.LSB_NEG_OUT1 ( LSB_NEG_OUT[1 ] ) + ,.LSB_NEG_OUT2 ( LSB_NEG_OUT[2 ] ) + ,.LSB_NEG_OUT3 ( LSB_NEG_OUT[3 ] ) + ,.LSB_NEG_OUT4 ( LSB_NEG_OUT[4 ] ) + ,.LSB_NEG_OUT5 ( LSB_NEG_OUT[5 ] ) + ,.LSB_NEG_OUT6 ( LSB_NEG_OUT[6 ] ) + ,.LSB_NEG_OUT7 ( LSB_NEG_OUT[7 ] ) + ,.LSB_NEG_OUT8 ( LSB_NEG_OUT[8 ] ) + ,.LSB_NEG_OUT9 ( LSB_NEG_OUT[9 ] ) + ,.LSB_NEG_OUT10 ( LSB_NEG_OUT[10] ) + ,.LSB_NEG_OUT11 ( LSB_NEG_OUT[11] ) + ,.LSB_NEG_OUT12 ( LSB_NEG_OUT[12] ) + ,.LSB_NEG_OUT13 ( LSB_NEG_OUT[13] ) + ,.LSB_NEG_OUT14 ( LSB_NEG_OUT[14] ) + ,.LSB_NEG_OUT15 ( LSB_NEG_OUT[15] ) + ,.LSB_NEG_OUT16 ( LSB_NEG_OUT[16] ) + ,.LSB_NEG_OUT17 ( LSB_NEG_OUT[17] ) + ,.LSB_NEG_OUT18 ( LSB_NEG_OUT[18] ) + ,.LSB_NEG_OUT19 ( LSB_NEG_OUT[19] ) + ,.LSB_NEG_OUT20 ( LSB_NEG_OUT[20] ) + ,.LSB_NEG_OUT21 ( LSB_NEG_OUT[21] ) + ,.LSB_NEG_OUT22 ( LSB_NEG_OUT[22] ) + ,.LSB_NEG_OUT23 ( LSB_NEG_OUT[23] ) + ,.LSB_NEG_OUT24 ( LSB_NEG_OUT[24] ) + ,.LSB_NEG_OUT25 ( LSB_NEG_OUT[25] ) + ,.LSB_NEG_OUT26 ( LSB_NEG_OUT[26] ) + ,.LSB_NEG_OUT27 ( LSB_NEG_OUT[27] ) + ,.LSB_NEG_OUT28 ( LSB_NEG_OUT[28] ) + ,.LSB_NEG_OUT29 ( LSB_NEG_OUT[29] ) + ,.LSB_NEG_OUT30 ( LSB_NEG_OUT[30] ) + ,.LSB_NEG_OUT31 ( LSB_NEG_OUT[31] ) + ,.MSB_NEG_DUM0 ( MSB_NEG_DUM[0 ] ) + ,.MSB_NEG_DUM1 ( MSB_NEG_DUM[1 ] ) + ,.MSB_NEG_DUM2 ( MSB_NEG_DUM[2 ] ) + ,.MSB_NEG_DUM3 ( MSB_NEG_DUM[3 ] ) + ,.MSB_NEG_DUM4 ( MSB_NEG_DUM[4 ] ) + ,.MSB_NEG_DUM5 ( MSB_NEG_DUM[5 ] ) + ,.MSB_NEG_DUM6 ( MSB_NEG_DUM[6 ] ) + ,.MSB_NEG_DUM7 ( MSB_NEG_DUM[7 ] ) + ,.MSB_NEG_DUM8 ( MSB_NEG_DUM[8 ] ) + ,.MSB_NEG_DUM9 ( MSB_NEG_DUM[9 ] ) + ,.MSB_NEG_DUM10 ( MSB_NEG_DUM[10] ) + ,.MSB_NEG_DUM11 ( MSB_NEG_DUM[11] ) + ,.MSB_NEG_DUM12 ( MSB_NEG_DUM[12] ) + ,.MSB_NEG_DUM13 ( MSB_NEG_DUM[13] ) + ,.MSB_NEG_DUM14 ( MSB_NEG_DUM[14] ) + ,.MSB_NEG_DUM15 ( MSB_NEG_DUM[15] ) + ,.MSB_NEG_DUM16 ( MSB_NEG_DUM[16] ) + ,.MSB_NEG_DUM17 ( MSB_NEG_DUM[17] ) + ,.MSB_NEG_DUM18 ( MSB_NEG_DUM[18] ) + ,.MSB_NEG_DUM19 ( MSB_NEG_DUM[19] ) + ,.MSB_NEG_DUM20 ( MSB_NEG_DUM[20] ) + ,.MSB_NEG_DUM21 ( MSB_NEG_DUM[21] ) + ,.MSB_NEG_DUM22 ( MSB_NEG_DUM[22] ) + ,.MSB_NEG_DUM23 ( MSB_NEG_DUM[23] ) + ,.MSB_NEG_DUM24 ( MSB_NEG_DUM[24] ) + ,.MSB_NEG_DUM25 ( MSB_NEG_DUM[25] ) + ,.MSB_NEG_DUM26 ( MSB_NEG_DUM[26] ) + ,.MSB_NEG_DUM27 ( MSB_NEG_DUM[27] ) + ,.MSB_NEG_DUM28 ( MSB_NEG_DUM[28] ) + ,.MSB_NEG_DUM29 ( MSB_NEG_DUM[29] ) + ,.MSB_NEG_DUM30 ( MSB_NEG_DUM[30] ) + ,.MSB_NEG_DUM31 ( MSB_NEG_DUM[31] ) ,.DEM_VLD ( DEM_VLD ) ,.Rterm ( Rterm ) ,.CasAddr ( CasAddr ) @@ -277,20 +469,22 @@ da4008_chip_top U_da4008_chip_top ( //DEM_Reverse_64CH //////////////////////////////////////////////////////////////////////////////////////// -logic vld_out ; +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 ) + ,.msb_pos_in ( MSB_POS_OUT ) + ,.lsb_pos_in ( LSB_POS_OUT ) + ,.msb_neg_in ( MSB_NEG_OUT ) + ,.lsb_neg_in ( LSB_NEG_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 ; +logic vld_out_r ; always @(posedge clk_40g) begin data_out_r <= data_out ; diff --git a/DA4008_V1.2/sim/chip_top/backup/Makefile b/DA4008_V1.3/sim/chip_top/backup/Makefile similarity index 100% rename from DA4008_V1.2/sim/chip_top/backup/Makefile rename to DA4008_V1.3/sim/chip_top/backup/Makefile diff --git a/DA4008_V1.3/sim/chip_top/backup/filelist_syn.f b/DA4008_V1.3/sim/chip_top/backup/filelist_syn.f new file mode 100644 index 0000000..2ddc5e2 --- /dev/null +++ b/DA4008_V1.3/sim/chip_top/backup/filelist_syn.f @@ -0,0 +1,12 @@ +../../../../rtl/define/chip_define.v +../../../../sim/chip_top/TB.sv +../../../../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 +../../../../lib/tphn28hpcpgv18.v +../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v +../../../../lib/tcbn28hpcplusbwp7t35p140.v +../../../../syn/current/outputs/da4008_chip_top.syn.v diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_vlg.f b/DA4008_V1.3/sim/chip_top/backup/filelist_vlg.f similarity index 79% rename from DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_vlg.f rename to DA4008_V1.3/sim/chip_top/backup/filelist_vlg.f index c92f7d1..aab93da 100644 --- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_vlg.f +++ b/DA4008_V1.3/sim/chip_top/backup/filelist_vlg.f @@ -1,4 +1,4 @@ -../../../../rtl/define/chip_define.v +../../rtl/define/chip_define.v ../../../../lib/tphn28hpcpgv18.v ../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v ../../../../rtl/io/iopad.v @@ -14,12 +14,22 @@ ../../../../rtl/comm/sirv_gnrl_dffs.v ../../../../rtl/comm/syncer.v ../../../../rtl/comm/ramp_gen.v +../../../../rtl/comm/dout_mux.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/nco/coef_c.v +../../../../rtl/nco/coef_s.v +../../../../rtl/nco/cos_op.v +../../../../rtl/nco/nco.v +../../../../rtl/nco/p_nco.v +../../../../rtl/nco/ph2amp.v +../../../../rtl/nco/pipe_acc_48bit.v +../../../../rtl/nco/pipe_add_48bit.v +../../../../rtl/nco/sin_op.v ../../../../rtl/clk/clk_regfile.v ../../../../rtl/awg/awg_top.sv ../../../../rtl/awg/awg_ctrl.v @@ -42,5 +52,8 @@ ../../../../model/DW_reset_sync.v ../../../../model/DW_sync.v ../../../../model/DW_pulse_sync.v +../../../../model/DW02_mult.v +../../../../model/DW_mult_pipe.v ../../../../sim/chip_top/TB.sv ../../../../rtl/define/chip_undefine.v + diff --git a/DA4008_V1.3/sim/chip_top/filelist_syn.f b/DA4008_V1.3/sim/chip_top/filelist_syn.f new file mode 100644 index 0000000..c89be65 --- /dev/null +++ b/DA4008_V1.3/sim/chip_top/filelist_syn.f @@ -0,0 +1,12 @@ +../../rtl/define/chip_define.v +../../sim/chip_top/TB.sv +../../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 +../../lib/tphn28hpcpgv18.v +../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v +../../lib/tcbn28hpcplusbwp7t35p140.v +../../syn/current/outputs/da4008_chip_top.syn.v diff --git a/DA4008_V1.2/sim/chip_top/filelist_vlg.f b/DA4008_V1.3/sim/chip_top/filelist_vlg.f similarity index 82% rename from DA4008_V1.2/sim/chip_top/filelist_vlg.f rename to DA4008_V1.3/sim/chip_top/filelist_vlg.f index 4fc7a44..5f3aa10 100644 --- a/DA4008_V1.2/sim/chip_top/filelist_vlg.f +++ b/DA4008_V1.3/sim/chip_top/filelist_vlg.f @@ -1,6 +1,4 @@ ../../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 @@ -14,12 +12,22 @@ ../../rtl/comm/sirv_gnrl_dffs.v ../../rtl/comm/syncer.v ../../rtl/comm/ramp_gen.v +../../rtl/comm/dout_mux.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/nco/coef_c.v +../../rtl/nco/coef_s.v +../../rtl/nco/cos_op.v +../../rtl/nco/nco.v +../../rtl/nco/p_nco.v +../../rtl/nco/ph2amp.v +../../rtl/nco/pipe_acc_48bit.v +../../rtl/nco/pipe_add_48bit.v +../../rtl/nco/sin_op.v ../../rtl/clk/clk_regfile.v ../../rtl/awg/awg_top.sv ../../rtl/awg/awg_ctrl.v @@ -42,5 +50,10 @@ ../../model/DW_reset_sync.v ../../model/DW_sync.v ../../model/DW_pulse_sync.v +../../model/DW02_mult.v +../../model/DW_mult_pipe.v +../../lib/tphn28hpcpgv18.v +../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v ../../sim/chip_top/TB.sv ../../rtl/define/chip_undefine.v + diff --git a/DA4008_V1.2/sim/chip_top/regress.csh b/DA4008_V1.3/sim/chip_top/regress.csh old mode 100755 new mode 100644 similarity index 100% rename from DA4008_V1.2/sim/chip_top/regress.csh rename to DA4008_V1.3/sim/chip_top/regress.csh diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/Makefile b/DA4008_V1.3/sim/chip_top_toxd/Makefile similarity index 100% rename from DA4008_V1.2/sim/chip_top/work_RTL/flattop/Makefile rename to DA4008_V1.3/sim/chip_top_toxd/Makefile diff --git a/DA4008_V1.3/sim/chip_top_toxd/TB.sv b/DA4008_V1.3/sim/chip_top_toxd/TB.sv new file mode 100644 index 0000000..119ff4b --- /dev/null +++ b/DA4008_V1.3/sim/chip_top_toxd/TB.sv @@ -0,0 +1,566 @@ + +`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 = "../../case/config/0316/NCO_1GHZ.txt"; +string DATA_O_FILE = "./result_temp.txt"; +parameter string LVDS_FILE = "../../case/lvds/0316/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.file_path = LVDS_FILE; + 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_drv.do_drive(); + lvds_drv.train_count = 100; // ÉèÖÃѵÁ·´ÎÊý + lvds_drv.send_training(); // ·¢ËÍѵÁ·ÐòÁÐ + lvds_drv.scrambler_en = 1; + lvds_drv.send_frame_from_file(LVDS_FILE); // ·¢ËÍÊý¾ÝÖ¡ + + file_path = $fopen(DATA_O_FILE, "w"); + my_drv.do_drive(file_path); + $fclose(file_path); + + # 30; + 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_POS_OUT [31:0] ; +logic [4 :0] LSB_POS_OUT [31:0] ; +logic MSB_POS_DUM [31:0] ; +logic [6 :0] MSB_NEG_OUT [31:0] ; +logic [4 :0] LSB_NEG_OUT [31:0] ; +logic MSB_NEG_DUM [31: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 ; +logic [2 :0] phase_tap ; + +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 ) + ,.phase_tap ( phase_tap ) + ,.lvds_clk ( lvds_bus.clk ) + ,.MSB_POS_OUT0 ( MSB_POS_OUT[0 ] ) + ,.MSB_POS_OUT1 ( MSB_POS_OUT[1 ] ) + ,.MSB_POS_OUT2 ( MSB_POS_OUT[2 ] ) + ,.MSB_POS_OUT3 ( MSB_POS_OUT[3 ] ) + ,.MSB_POS_OUT4 ( MSB_POS_OUT[4 ] ) + ,.MSB_POS_OUT5 ( MSB_POS_OUT[5 ] ) + ,.MSB_POS_OUT6 ( MSB_POS_OUT[6 ] ) + ,.MSB_POS_OUT7 ( MSB_POS_OUT[7 ] ) + ,.MSB_POS_OUT8 ( MSB_POS_OUT[8 ] ) + ,.MSB_POS_OUT9 ( MSB_POS_OUT[9 ] ) + ,.MSB_POS_OUT10 ( MSB_POS_OUT[10] ) + ,.MSB_POS_OUT11 ( MSB_POS_OUT[11] ) + ,.MSB_POS_OUT12 ( MSB_POS_OUT[12] ) + ,.MSB_POS_OUT13 ( MSB_POS_OUT[13] ) + ,.MSB_POS_OUT14 ( MSB_POS_OUT[14] ) + ,.MSB_POS_OUT15 ( MSB_POS_OUT[15] ) + ,.MSB_POS_OUT16 ( MSB_POS_OUT[16] ) + ,.MSB_POS_OUT17 ( MSB_POS_OUT[17] ) + ,.MSB_POS_OUT18 ( MSB_POS_OUT[18] ) + ,.MSB_POS_OUT19 ( MSB_POS_OUT[19] ) + ,.MSB_POS_OUT20 ( MSB_POS_OUT[20] ) + ,.MSB_POS_OUT21 ( MSB_POS_OUT[21] ) + ,.MSB_POS_OUT22 ( MSB_POS_OUT[22] ) + ,.MSB_POS_OUT23 ( MSB_POS_OUT[23] ) + ,.MSB_POS_OUT24 ( MSB_POS_OUT[24] ) + ,.MSB_POS_OUT25 ( MSB_POS_OUT[25] ) + ,.MSB_POS_OUT26 ( MSB_POS_OUT[26] ) + ,.MSB_POS_OUT27 ( MSB_POS_OUT[27] ) + ,.MSB_POS_OUT28 ( MSB_POS_OUT[28] ) + ,.MSB_POS_OUT29 ( MSB_POS_OUT[29] ) + ,.MSB_POS_OUT30 ( MSB_POS_OUT[30] ) + ,.MSB_POS_OUT31 ( MSB_POS_OUT[31] ) + ,.LSB_POS_OUT0 ( LSB_POS_OUT[0 ] ) + ,.LSB_POS_OUT1 ( LSB_POS_OUT[1 ] ) + ,.LSB_POS_OUT2 ( LSB_POS_OUT[2 ] ) + ,.LSB_POS_OUT3 ( LSB_POS_OUT[3 ] ) + ,.LSB_POS_OUT4 ( LSB_POS_OUT[4 ] ) + ,.LSB_POS_OUT5 ( LSB_POS_OUT[5 ] ) + ,.LSB_POS_OUT6 ( LSB_POS_OUT[6 ] ) + ,.LSB_POS_OUT7 ( LSB_POS_OUT[7 ] ) + ,.LSB_POS_OUT8 ( LSB_POS_OUT[8 ] ) + ,.LSB_POS_OUT9 ( LSB_POS_OUT[9 ] ) + ,.LSB_POS_OUT10 ( LSB_POS_OUT[10] ) + ,.LSB_POS_OUT11 ( LSB_POS_OUT[11] ) + ,.LSB_POS_OUT12 ( LSB_POS_OUT[12] ) + ,.LSB_POS_OUT13 ( LSB_POS_OUT[13] ) + ,.LSB_POS_OUT14 ( LSB_POS_OUT[14] ) + ,.LSB_POS_OUT15 ( LSB_POS_OUT[15] ) + ,.LSB_POS_OUT16 ( LSB_POS_OUT[16] ) + ,.LSB_POS_OUT17 ( LSB_POS_OUT[17] ) + ,.LSB_POS_OUT18 ( LSB_POS_OUT[18] ) + ,.LSB_POS_OUT19 ( LSB_POS_OUT[19] ) + ,.LSB_POS_OUT20 ( LSB_POS_OUT[20] ) + ,.LSB_POS_OUT21 ( LSB_POS_OUT[21] ) + ,.LSB_POS_OUT22 ( LSB_POS_OUT[22] ) + ,.LSB_POS_OUT23 ( LSB_POS_OUT[23] ) + ,.LSB_POS_OUT24 ( LSB_POS_OUT[24] ) + ,.LSB_POS_OUT25 ( LSB_POS_OUT[25] ) + ,.LSB_POS_OUT26 ( LSB_POS_OUT[26] ) + ,.LSB_POS_OUT27 ( LSB_POS_OUT[27] ) + ,.LSB_POS_OUT28 ( LSB_POS_OUT[28] ) + ,.LSB_POS_OUT29 ( LSB_POS_OUT[29] ) + ,.LSB_POS_OUT30 ( LSB_POS_OUT[30] ) + ,.LSB_POS_OUT31 ( LSB_POS_OUT[31] ) + ,.MSB_POS_DUM0 ( MSB_POS_DUM[0 ] ) + ,.MSB_POS_DUM1 ( MSB_POS_DUM[1 ] ) + ,.MSB_POS_DUM2 ( MSB_POS_DUM[2 ] ) + ,.MSB_POS_DUM3 ( MSB_POS_DUM[3 ] ) + ,.MSB_POS_DUM4 ( MSB_POS_DUM[4 ] ) + ,.MSB_POS_DUM5 ( MSB_POS_DUM[5 ] ) + ,.MSB_POS_DUM6 ( MSB_POS_DUM[6 ] ) + ,.MSB_POS_DUM7 ( MSB_POS_DUM[7 ] ) + ,.MSB_POS_DUM8 ( MSB_POS_DUM[8 ] ) + ,.MSB_POS_DUM9 ( MSB_POS_DUM[9 ] ) + ,.MSB_POS_DUM10 ( MSB_POS_DUM[10] ) + ,.MSB_POS_DUM11 ( MSB_POS_DUM[11] ) + ,.MSB_POS_DUM12 ( MSB_POS_DUM[12] ) + ,.MSB_POS_DUM13 ( MSB_POS_DUM[13] ) + ,.MSB_POS_DUM14 ( MSB_POS_DUM[14] ) + ,.MSB_POS_DUM15 ( MSB_POS_DUM[15] ) + ,.MSB_POS_DUM16 ( MSB_POS_DUM[16] ) + ,.MSB_POS_DUM17 ( MSB_POS_DUM[17] ) + ,.MSB_POS_DUM18 ( MSB_POS_DUM[18] ) + ,.MSB_POS_DUM19 ( MSB_POS_DUM[19] ) + ,.MSB_POS_DUM20 ( MSB_POS_DUM[20] ) + ,.MSB_POS_DUM21 ( MSB_POS_DUM[21] ) + ,.MSB_POS_DUM22 ( MSB_POS_DUM[22] ) + ,.MSB_POS_DUM23 ( MSB_POS_DUM[23] ) + ,.MSB_POS_DUM24 ( MSB_POS_DUM[24] ) + ,.MSB_POS_DUM25 ( MSB_POS_DUM[25] ) + ,.MSB_POS_DUM26 ( MSB_POS_DUM[26] ) + ,.MSB_POS_DUM27 ( MSB_POS_DUM[27] ) + ,.MSB_POS_DUM28 ( MSB_POS_DUM[28] ) + ,.MSB_POS_DUM29 ( MSB_POS_DUM[29] ) + ,.MSB_POS_DUM30 ( MSB_POS_DUM[30] ) + ,.MSB_POS_DUM31 ( MSB_POS_DUM[31] ) + ,.MSB_NEG_OUT0 ( MSB_NEG_OUT[0 ] ) + ,.MSB_NEG_OUT1 ( MSB_NEG_OUT[1 ] ) + ,.MSB_NEG_OUT2 ( MSB_NEG_OUT[2 ] ) + ,.MSB_NEG_OUT3 ( MSB_NEG_OUT[3 ] ) + ,.MSB_NEG_OUT4 ( MSB_NEG_OUT[4 ] ) + ,.MSB_NEG_OUT5 ( MSB_NEG_OUT[5 ] ) + ,.MSB_NEG_OUT6 ( MSB_NEG_OUT[6 ] ) + ,.MSB_NEG_OUT7 ( MSB_NEG_OUT[7 ] ) + ,.MSB_NEG_OUT8 ( MSB_NEG_OUT[8 ] ) + ,.MSB_NEG_OUT9 ( MSB_NEG_OUT[9 ] ) + ,.MSB_NEG_OUT10 ( MSB_NEG_OUT[10] ) + ,.MSB_NEG_OUT11 ( MSB_NEG_OUT[11] ) + ,.MSB_NEG_OUT12 ( MSB_NEG_OUT[12] ) + ,.MSB_NEG_OUT13 ( MSB_NEG_OUT[13] ) + ,.MSB_NEG_OUT14 ( MSB_NEG_OUT[14] ) + ,.MSB_NEG_OUT15 ( MSB_NEG_OUT[15] ) + ,.MSB_NEG_OUT16 ( MSB_NEG_OUT[16] ) + ,.MSB_NEG_OUT17 ( MSB_NEG_OUT[17] ) + ,.MSB_NEG_OUT18 ( MSB_NEG_OUT[18] ) + ,.MSB_NEG_OUT19 ( MSB_NEG_OUT[19] ) + ,.MSB_NEG_OUT20 ( MSB_NEG_OUT[20] ) + ,.MSB_NEG_OUT21 ( MSB_NEG_OUT[21] ) + ,.MSB_NEG_OUT22 ( MSB_NEG_OUT[22] ) + ,.MSB_NEG_OUT23 ( MSB_NEG_OUT[23] ) + ,.MSB_NEG_OUT24 ( MSB_NEG_OUT[24] ) + ,.MSB_NEG_OUT25 ( MSB_NEG_OUT[25] ) + ,.MSB_NEG_OUT26 ( MSB_NEG_OUT[26] ) + ,.MSB_NEG_OUT27 ( MSB_NEG_OUT[27] ) + ,.MSB_NEG_OUT28 ( MSB_NEG_OUT[28] ) + ,.MSB_NEG_OUT29 ( MSB_NEG_OUT[29] ) + ,.MSB_NEG_OUT30 ( MSB_NEG_OUT[30] ) + ,.MSB_NEG_OUT31 ( MSB_NEG_OUT[31] ) + ,.LSB_NEG_OUT0 ( LSB_NEG_OUT[0 ] ) + ,.LSB_NEG_OUT1 ( LSB_NEG_OUT[1 ] ) + ,.LSB_NEG_OUT2 ( LSB_NEG_OUT[2 ] ) + ,.LSB_NEG_OUT3 ( LSB_NEG_OUT[3 ] ) + ,.LSB_NEG_OUT4 ( LSB_NEG_OUT[4 ] ) + ,.LSB_NEG_OUT5 ( LSB_NEG_OUT[5 ] ) + ,.LSB_NEG_OUT6 ( LSB_NEG_OUT[6 ] ) + ,.LSB_NEG_OUT7 ( LSB_NEG_OUT[7 ] ) + ,.LSB_NEG_OUT8 ( LSB_NEG_OUT[8 ] ) + ,.LSB_NEG_OUT9 ( LSB_NEG_OUT[9 ] ) + ,.LSB_NEG_OUT10 ( LSB_NEG_OUT[10] ) + ,.LSB_NEG_OUT11 ( LSB_NEG_OUT[11] ) + ,.LSB_NEG_OUT12 ( LSB_NEG_OUT[12] ) + ,.LSB_NEG_OUT13 ( LSB_NEG_OUT[13] ) + ,.LSB_NEG_OUT14 ( LSB_NEG_OUT[14] ) + ,.LSB_NEG_OUT15 ( LSB_NEG_OUT[15] ) + ,.LSB_NEG_OUT16 ( LSB_NEG_OUT[16] ) + ,.LSB_NEG_OUT17 ( LSB_NEG_OUT[17] ) + ,.LSB_NEG_OUT18 ( LSB_NEG_OUT[18] ) + ,.LSB_NEG_OUT19 ( LSB_NEG_OUT[19] ) + ,.LSB_NEG_OUT20 ( LSB_NEG_OUT[20] ) + ,.LSB_NEG_OUT21 ( LSB_NEG_OUT[21] ) + ,.LSB_NEG_OUT22 ( LSB_NEG_OUT[22] ) + ,.LSB_NEG_OUT23 ( LSB_NEG_OUT[23] ) + ,.LSB_NEG_OUT24 ( LSB_NEG_OUT[24] ) + ,.LSB_NEG_OUT25 ( LSB_NEG_OUT[25] ) + ,.LSB_NEG_OUT26 ( LSB_NEG_OUT[26] ) + ,.LSB_NEG_OUT27 ( LSB_NEG_OUT[27] ) + ,.LSB_NEG_OUT28 ( LSB_NEG_OUT[28] ) + ,.LSB_NEG_OUT29 ( LSB_NEG_OUT[29] ) + ,.LSB_NEG_OUT30 ( LSB_NEG_OUT[30] ) + ,.LSB_NEG_OUT31 ( LSB_NEG_OUT[31] ) + ,.MSB_NEG_DUM0 ( MSB_NEG_DUM[0 ] ) + ,.MSB_NEG_DUM1 ( MSB_NEG_DUM[1 ] ) + ,.MSB_NEG_DUM2 ( MSB_NEG_DUM[2 ] ) + ,.MSB_NEG_DUM3 ( MSB_NEG_DUM[3 ] ) + ,.MSB_NEG_DUM4 ( MSB_NEG_DUM[4 ] ) + ,.MSB_NEG_DUM5 ( MSB_NEG_DUM[5 ] ) + ,.MSB_NEG_DUM6 ( MSB_NEG_DUM[6 ] ) + ,.MSB_NEG_DUM7 ( MSB_NEG_DUM[7 ] ) + ,.MSB_NEG_DUM8 ( MSB_NEG_DUM[8 ] ) + ,.MSB_NEG_DUM9 ( MSB_NEG_DUM[9 ] ) + ,.MSB_NEG_DUM10 ( MSB_NEG_DUM[10] ) + ,.MSB_NEG_DUM11 ( MSB_NEG_DUM[11] ) + ,.MSB_NEG_DUM12 ( MSB_NEG_DUM[12] ) + ,.MSB_NEG_DUM13 ( MSB_NEG_DUM[13] ) + ,.MSB_NEG_DUM14 ( MSB_NEG_DUM[14] ) + ,.MSB_NEG_DUM15 ( MSB_NEG_DUM[15] ) + ,.MSB_NEG_DUM16 ( MSB_NEG_DUM[16] ) + ,.MSB_NEG_DUM17 ( MSB_NEG_DUM[17] ) + ,.MSB_NEG_DUM18 ( MSB_NEG_DUM[18] ) + ,.MSB_NEG_DUM19 ( MSB_NEG_DUM[19] ) + ,.MSB_NEG_DUM20 ( MSB_NEG_DUM[20] ) + ,.MSB_NEG_DUM21 ( MSB_NEG_DUM[21] ) + ,.MSB_NEG_DUM22 ( MSB_NEG_DUM[22] ) + ,.MSB_NEG_DUM23 ( MSB_NEG_DUM[23] ) + ,.MSB_NEG_DUM24 ( MSB_NEG_DUM[24] ) + ,.MSB_NEG_DUM25 ( MSB_NEG_DUM[25] ) + ,.MSB_NEG_DUM26 ( MSB_NEG_DUM[26] ) + ,.MSB_NEG_DUM27 ( MSB_NEG_DUM[27] ) + ,.MSB_NEG_DUM28 ( MSB_NEG_DUM[28] ) + ,.MSB_NEG_DUM29 ( MSB_NEG_DUM[29] ) + ,.MSB_NEG_DUM30 ( MSB_NEG_DUM[30] ) + ,.MSB_NEG_DUM31 ( MSB_NEG_DUM[31] ) + ,.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_pos_in ( MSB_POS_OUT ) + ,.lsb_pos_in ( LSB_POS_OUT ) + ,.msb_neg_in ( MSB_NEG_OUT ) + ,.lsb_neg_in ( LSB_NEG_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/work_RTL/sine_1g/Makefile b/DA4008_V1.3/sim/chip_top_toxd/backup/Makefile similarity index 100% rename from DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/Makefile rename to DA4008_V1.3/sim/chip_top_toxd/backup/Makefile diff --git a/DA4008_V1.3/sim/chip_top_toxd/backup/filelist_syn.f b/DA4008_V1.3/sim/chip_top_toxd/backup/filelist_syn.f new file mode 100644 index 0000000..2ddc5e2 --- /dev/null +++ b/DA4008_V1.3/sim/chip_top_toxd/backup/filelist_syn.f @@ -0,0 +1,12 @@ +../../../../rtl/define/chip_define.v +../../../../sim/chip_top/TB.sv +../../../../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 +../../../../lib/tphn28hpcpgv18.v +../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v +../../../../lib/tcbn28hpcplusbwp7t35p140.v +../../../../syn/current/outputs/da4008_chip_top.syn.v diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_vlg.f b/DA4008_V1.3/sim/chip_top_toxd/backup/filelist_vlg.f similarity index 79% rename from DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_vlg.f rename to DA4008_V1.3/sim/chip_top_toxd/backup/filelist_vlg.f index c92f7d1..aab93da 100644 --- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_vlg.f +++ b/DA4008_V1.3/sim/chip_top_toxd/backup/filelist_vlg.f @@ -1,4 +1,4 @@ -../../../../rtl/define/chip_define.v +../../rtl/define/chip_define.v ../../../../lib/tphn28hpcpgv18.v ../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v ../../../../rtl/io/iopad.v @@ -14,12 +14,22 @@ ../../../../rtl/comm/sirv_gnrl_dffs.v ../../../../rtl/comm/syncer.v ../../../../rtl/comm/ramp_gen.v +../../../../rtl/comm/dout_mux.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/nco/coef_c.v +../../../../rtl/nco/coef_s.v +../../../../rtl/nco/cos_op.v +../../../../rtl/nco/nco.v +../../../../rtl/nco/p_nco.v +../../../../rtl/nco/ph2amp.v +../../../../rtl/nco/pipe_acc_48bit.v +../../../../rtl/nco/pipe_add_48bit.v +../../../../rtl/nco/sin_op.v ../../../../rtl/clk/clk_regfile.v ../../../../rtl/awg/awg_top.sv ../../../../rtl/awg/awg_ctrl.v @@ -42,5 +52,8 @@ ../../../../model/DW_reset_sync.v ../../../../model/DW_sync.v ../../../../model/DW_pulse_sync.v +../../../../model/DW02_mult.v +../../../../model/DW_mult_pipe.v ../../../../sim/chip_top/TB.sv ../../../../rtl/define/chip_undefine.v + diff --git a/DA4008_V1.3/sim/chip_top_toxd/filelist_syn.f b/DA4008_V1.3/sim/chip_top_toxd/filelist_syn.f new file mode 100644 index 0000000..86f365a --- /dev/null +++ b/DA4008_V1.3/sim/chip_top_toxd/filelist_syn.f @@ -0,0 +1,11 @@ +../../sim/chip_top_toxd/TB.sv +../../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 +../../lib/tphn28hpcpgv18.v +../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v +../../lib/tcbn28hpcplusbwp7t35p140.v +../../syn/current/outputs/da4008_chip_top.syn.v diff --git a/DA4008_V1.3/sim/chip_top_toxd/filelist_vlg.f b/DA4008_V1.3/sim/chip_top_toxd/filelist_vlg.f new file mode 100644 index 0000000..53bdc2f --- /dev/null +++ b/DA4008_V1.3/sim/chip_top_toxd/filelist_vlg.f @@ -0,0 +1,59 @@ +../../rtl/define/chip_define.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/comm/dout_mux.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/nco/coef_c.v +../../rtl/nco/coef_s.v +../../rtl/nco/cos_op.v +../../rtl/nco/nco.v +../../rtl/nco/p_nco.v +../../rtl/nco/ph2amp.v +../../rtl/nco/pipe_acc_48bit.v +../../rtl/nco/pipe_add_48bit.v +../../rtl/nco/sin_op.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 +../../model/DW02_mult.v +../../model/DW_mult_pipe.v +../../lib/tphn28hpcpgv18.v +../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v +../../sim/chip_top_toxd/TB.sv +../../rtl/define/chip_undefine.v + diff --git a/DA4008_V1.3/sim/chip_top_toxd/regress.csh b/DA4008_V1.3/sim/chip_top_toxd/regress.csh new file mode 100644 index 0000000..f29471b --- /dev/null +++ b/DA4008_V1.3/sim/chip_top_toxd/regress.csh @@ -0,0 +1,166 @@ +#!/bin/csh + +# Set the directory to be processed (default is the current directory) +set case_dir = "../../case/config" + +# If a directory is provided as a parameter, use that directory. +#if ($#argv > 0) then +# set case_dir = $argv +#endif + +# Check if two directories and a log file are provided as parameters. +if ( $#argv != 1 ) then + echo "Usage: $0 SIM" + exit 1 +endif + +set SIM = $1 + +# Initialize Counter +set dir_count = 1 + +# List all directories, and print their sequence numbers. +echo "Listing directories in $case_dir :" +foreach dir (`ls -d $case_dir/*/`) +# set filelist = `basename $file .txt` + echo "$dir_count : $dir" +# echo "$count : $filelist" + @ dir_count++ +end + + +# Obtain the sequence number input by the user from the command line. +echo -n "Enter the start number: " +set start = $< +echo -n "Enter the end number: " +set end = $< +echo -n "Whether save sim files? 1: save; 0: delete." +echo -n "Enter your choice: " +set save = $< +if ("$save" == "") then + set save = 0 +endif + +make -s comp WAVE=$save + +if ( $start < 1 || $end > $dir_count - 1 || $start > $end ) then + echo "Invalid directory range. Please enter a valid range." + exit 1 +endif + +set selected_dirs = () +@ dir_index = 1 +foreach dir (`ls -d $case_dir/*/`) + if ( $dir_index >= $start && $dir_index <= $end ) then + set selected_dirs = ($selected_dirs $dir) + endif + @ dir_index++ +end + +foreach folder ($selected_dirs) + echo "Processing folder: $folder" + + # 获取文件夹中的所有 TXT 文件 + set file_list = ($folder/*.txt) + set txt_count = $#file_list + # 产生对应的文件夹地址 + set gather_folder = `echo $folder | sed 's|/config/|/gather/|'` + set result_folder = `echo $folder | sed 's|../../case/config/|result/|g'` + set coverage_folder = `echo $folder | sed 's|../../case/config/|coverage/|g'` + + # 打印 result_folder 的值 + echo "Result folder: $result_folder" + mkdir -p $gather_folder + # 检查是否有 TXT 文件 + if ( $#file_list == 0 ) then + echo "No .txt files found in $folder. Skipping..." + continue + endif + mkdir -p $result_folder + # TB从这些文件中读取case,result等文件的路径 + set temp_files = ("case_temp.txt" "data_temp.txt" "result_temp.txt") + # 遍历文件列表,检查是否存在,不存在则创建,这样git就不用追踪这些txt文件了 + foreach file ($temp_files) + if ( ! -e $file ) then + touch $file + endif + end + #遍历文件夹中的所有 TXT 文件 + @ i = 1 + foreach file ($file_list) + # echo "Processing file: $file" + # set file_list = ($case_dir/*.txt) + + set rstdir = "./data_$SIM" + mkdir -p $rstdir + + while ( $i <= $txt_count ) + set filename = `basename $file_list[$i] .txt` + set filen = `basename $file_list[$i]` + set dirname = `dirname $file_list[$i]` + # 拼接目标文件路径 + set gather_file = "$gather_folder/$filename.txt" + set result_file = "$result_folder/$filename.txt" + # 创建result等相关文件 + set file_lists = ($result_file) + # 遍历文件列表,检查并创建文件 + foreach file ($file_lists) + touch $file + echo "" > $file + # 输出创建文件的状态 + if ( $status == 0 ) then + echo "File $file created successfully." + else + echo "Failed to create file $file." + endif + end + # Create directories corresponding to filenames + set newdir = "./work_$SIM/$filename" + mkdir -p $newdir + # echo $status + if ( $status == 0 ) then + echo "Directory $newdir created successfully." + else + echo "Failed to create directory $newdir." + endif + # echo "Directory $newdir created." + # Copy the simv file to the corresponding folder. + echo "Copy the simv file to the $newdir folder." + \cp -f ./simv $newdir/ + \cp -rf simv.daidir $newdir/ + + \cp -f ./backup/Makefile $newdir/ + \cp -f ./backup/filelist_syn.f $newdir/ + \cp -f ./backup/filelist_vlg.f $newdir/ + + echo "" > ./case_temp.txt + echo "" > ./data_temp.txt + echo "" > ./result_temp.txt + echo " ../../$file_list[$i]" >> case_temp.txt + echo " ../../${result_file}" >> result_temp.txt + set result = "data_$SIM" + + set new_dir = `echo "$dirname" | sed 's|../../case/config|'$result'|'` + mkdir -p $new_dir + set result = "$new_dir/$filen" + touch $result + + echo "../../$result" >> data_temp.txt + cd $newdir/ + # Run "run" command in makefile + ./simv -l sim.log -cm line+cond+fsm+tgl+branch -cm_dir ../../$coverage_folder -cm_name $filename "+ENABLE_FSDB=$save" + cd ../../ + if ( $save == 0 ) then + rm -rf $newdir + endif + @ i++ + end + end +end + + + + + + + diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.mode64 b/DA4008_V1.3/sim/chip_top_toxd/result_temp.txt similarity index 100% rename from DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.mode64 rename to DA4008_V1.3/sim/chip_top_toxd/result_temp.txt diff --git a/DA4008_V1.2/sim/lvds/Makefile b/DA4008_V1.3/sim/lvds/Makefile similarity index 100% rename from DA4008_V1.2/sim/lvds/Makefile rename to DA4008_V1.3/sim/lvds/Makefile diff --git a/DA4008_V1.2/sim/lvds/TB.sv b/DA4008_V1.3/sim/lvds/TB.sv similarity index 100% rename from DA4008_V1.2/sim/lvds/TB.sv rename to DA4008_V1.3/sim/lvds/TB.sv diff --git a/DA4008_V1.2/sim/lvds/filelist_vlg.f b/DA4008_V1.3/sim/lvds/filelist_vlg.f similarity index 100% rename from DA4008_V1.2/sim/lvds/filelist_vlg.f rename to DA4008_V1.3/sim/lvds/filelist_vlg.f diff --git a/DA4008_V1.3/syn/Makefile b/DA4008_V1.3/syn/Makefile new file mode 100644 index 0000000..9d1c79f --- /dev/null +++ b/DA4008_V1.3/syn/Makefile @@ -0,0 +1,41 @@ +#################################################################################################### +VPATH := ./make +#DesignCompiler := /home/user0/EDA_Tools/Synopsys/syn_vK-2015.06-SP5-6/bin/dc_shell-t +#DesignCompiler := /home/user0/EDA_Tools/Synopsys/syn_vL-2016.03-SP5-7/bin/dc_shell-t +#DesignCompiler := /opt/synopsys/syn/O-2018.06-SP1/bin/dc_shell-t +DesignCompiler := /opt/synopsys/syn/L-2016.03-SP1/bin/dc_shell-t +#################################################################################################### + + +top_design := da4008_chip_top +### Synthesis ###################################################################################### +BIT := -64bit +Physical := -topographical_mode +DCScripts := set svars(dir,scripts) ./scripts +#################################################################################################### +setup: + @/bin/rm -rf $(VPATH) alib-52 command.log filenames.log + @/bin/mkdir -p $(VPATH) + @/bin/touch $(VPATH)/$@ +#################################################################################################### +dc: setup + VPATH=$(VPATH); export VPATH; ${DesignCompiler} ${BIT} -x "${DCScripts}" -f ./scripts/run_dc.tcl + +post: setup + VPATH=$(VPATH); export VPATH; ${DesignCompiler} ${BIT} -x "${DCScripts}" -f ./scripts/run_post.tcl + +dc_shell:setup + VPATH=$(VPATH); export VPATH; ${DesignCompiler} ${BIT} -x "${DCScripts}" + +pt_shell:setup + VPATH=$(VPATH); export VPATH; pt_shell -x "${DCScripts}" + + +dcg:setup + VPATH=$(VPATH); export VPATH; ${DesignCompiler} ${BIT} ${Physical} -x "${DCScripts}" +#################################################################################################### + +clean: + @rm -rf alib-52 + @rm -rf $(VPATH) + @rm -rf current run_1231 work diff --git a/DA4008_V1.3/syn/SynFileLsit.f b/DA4008_V1.3/syn/SynFileLsit.f new file mode 100644 index 0000000..1c325a1 --- /dev/null +++ b/DA4008_V1.3/syn/SynFileLsit.f @@ -0,0 +1,43 @@ +../rtl/define/chip_define.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/comm/dout_mux.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/nco/coef_c.v +../rtl/nco/coef_s.v +../rtl/nco/cos_op.v +../rtl/nco/nco.v +../rtl/nco/p_nco.v +../rtl/nco/ph2amp.v +../rtl/nco/pipe_acc_48bit.v +../rtl/nco/pipe_add_48bit.v +../rtl/nco/sin_op.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 +../rtl/define/chip_undefine.v diff --git a/DA4008_V1.3/syn/inputs/design.f b/DA4008_V1.3/syn/inputs/design.f new file mode 100644 index 0000000..d9d414c --- /dev/null +++ b/DA4008_V1.3/syn/inputs/design.f @@ -0,0 +1,2 @@ + +-F ../SynFileLsit.f diff --git a/DA4008_V1.3/syn/inputs/design.sdc b/DA4008_V1.3/syn/inputs/design.sdc new file mode 100644 index 0000000..51cffb2 --- /dev/null +++ b/DA4008_V1.3/syn/inputs/design.sdc @@ -0,0 +1,301 @@ +######################################################################################## +#set sdc version 2.1 +######################################################################################## +set sdc_verion 2.1 + +######################################################################################## +#set p/v/t unit +######################################################################################## +set_units -time ns -resistance kOhm -capacitance pF -voltage V -current mA + + + +######################################################################################## +#set current_design +######################################################################################## +set topModuleName "da4008_chip_top" + +current_design $topModuleName + +reset_design + +set sdc_mode "flatten_sta"; # block_syn, block_sta, flatten_sta + +############################################################################################### +# clock, including: +# clk : 800MHz , 0 phase +# sclk : 80MHz , 0 phase +############################################################################################### +#800MHz Clock +set P_CLK [expr 1.250 * 1.00] +set H_CLK [expr {$P_CLK / 2.00}] +#82.5MHz Clock +set P_SCLK [expr {$P_CLK * 10.00}] +set H_SCLK [expr {$P_SCLK / 2.00}] + + +######################################################################################## +#create_clock sclk & clk +######################################################################################## +#create SPI clock sclk +create_clock -name sclk -period $P_SCLK -waveform "0 $H_SCLK" [get_ports PI_sclk] +#create System clock clk +create_clock -name clk -period $P_CLK -waveform "0 $H_CLK" [get_ports clk] + +#lvds_clk +create_clock -name lvds_clk -period $P_CLK -waveform "0 $H_CLK" [get_ports lvds_clk] + +#create virtual clock +#create_clock -name clk_v -period $P_CLK -waveform "0 $H_CLK" +#create_clock -name sclk_v -period $P_SCLK -waveform "0 $H_SCLK" + + +set_clock_uncertainty [expr {$P_CLK * 0.25}] -setup [get_clocks clk ] +set_clock_uncertainty 0.100 -hold [get_clocks clk ] + +set_clock_uncertainty [expr {$P_CLK * 0.25}] -setup [get_clocks lvds_clk ] +set_clock_uncertainty 0.100 -hold [get_clocks lvds_clk ] + +set_clock_uncertainty [expr {$P_SCLK * 0.25}] -setup [get_clocks sclk] +set_clock_uncertainty 0.100 -hold [get_clocks sclk] + +#set clock group +#set_clock_groups -asynchronous -group {clk clk_v} -group {sclk sclk_v} -allow_paths + +######################################################################################## +#set IO group of sclk +######################################################################################## + +set iport_of_sclk {PI_mosi \ + PI_csn \ + Ccalst } + +set oport_of_sclk { CcalRstn \ + EnAllP \ + DccEn \ + CasGateCkCtrl \ + SpiEnPi \ + SpiEnQec \ + SpiEnDcc \ + SpiQecCtrlIp \ + SpiQecCtrlIn \ + SpiQecCtrlQp \ + SpiQecCtrlQn \ + SpiDccCtrlIup \ + SpiDccCtrlIdn \ + SpiDccCtrlQup \ + SpiDccCtrlQdn \ + SpiSiqNOut \ + SpiSiqPOut \ + SpiSiPOut \ + SpiSqPOut \ + CrtlCrossOverN \ + CrtlCrossOverP \ + CcalRsv0 \ + CcalRsv1 \ + SelCk10GDig \ + SelCk2p5GDig \ + SelCk625MDig \ + P2sDataEn \ + P2sEnAllP \ + EnPiP \ + CkDivRstn \ + p2srsv0 \ + p2srsv1 \ + CkRxSw \ + RstnCk \ + CtrlZin } + +######################################################################################## +#set IO group of clk +######################################################################################## + +set iport_of_clk {} + +set oport_of_clk { Rterm \ + PrbsEn \ + CasAddr \ + CasDw \ + IMainCtrl \ + IBleedCtrl \ + ICkCml \ + CurRsv0 \ + CurRsv1 \ + phase_tap \ + MSB_POS_OUT* \ + LSB_POS_OUT* \ + MSB_POS_DUM* \ + DEM_VLD } + + +set oport_of_clk_neg { MSB_NEG_OUT* \ + LSB_NEG_OUT* \ + MSB_NEG_DUM* } + +######################################################################################## +#set IO group of lvds_clk +######################################################################################## + +set iport_of_lvds_clk { lvds_data \ + lvds_valid } + +set oport_of_lvds_clk {} + +######################################################################################## +#set input delay of clk +######################################################################################## + +#set_input_delay -max -clock [get_clocks clk] [expr {$P_CLK * 0.450}] [get_ports $iport_of_clk] +#set_input_delay -min -clock [get_clocks clk] [expr {$P_CLK * 0.060}] [get_ports $iport_of_clk] -add_delay + +######################################################################################## +#set output delay of clk @ posegde +######################################################################################## + +set_output_delay -max -clock [get_clocks clk] [expr {$P_CLK * 0.450}] [get_ports $oport_of_clk] +set_output_delay -min -clock [get_clocks clk] [expr {$P_CLK * 0.060}] [get_ports $oport_of_clk] -add_delay + +######################################################################################## +#set output delay of clk @ negedge +######################################################################################## + +set_output_delay -max -clock [get_clocks clk] [expr {$P_CLK * 0.450}] [get_ports $oport_of_clk_neg] -clock_fall +set_output_delay -min -clock [get_clocks clk] [expr {$P_CLK * 0.100}] [get_ports $oport_of_clk_neg] -clock_fall -add_delay + +######################################################################################## +#set input delay of sclk +######################################################################################## + +set_input_delay -max -clock [get_clocks sclk] [expr {$P_SCLK * 0.600}] [get_ports $iport_of_sclk] +set_input_delay -min -clock [get_clocks sclk] [expr {$P_SCLK * 0.100}] [get_ports $iport_of_sclk] -add_delay + + +######################################################################################## +#set output delay of sclk +######################################################################################## + +set_output_delay -max -clock [get_clocks sclk] [expr {$P_SCLK * 0.600}] [get_ports $oport_of_sclk] +set_output_delay -min -clock [get_clocks sclk] [expr {$P_SCLK * 0.100}] [get_ports $oport_of_sclk] -add_delay + +######################################################################################## +#set input delay of lvds_clk +######################################################################################## + +set_input_delay -max -clock [get_clocks lvds_clk] [expr {$P_CLK * 0.600}] [get_ports $iport_of_lvds_clk] +set_input_delay -min -clock [get_clocks lvds_clk] [expr {$P_CLK * 0.100}] [get_ports $iport_of_lvds_clk] -add_delay + + + +######################################################################################## +# group_path +######################################################################################## +group_path -name INPUTS -from [all_inputs] +group_path -name OUTPUTS -to [all_outputs] +group_path -name COMBO -from [all_inputs] -to [all_outputs] +group_path -name clk -critical_range 0.15 -weight 5 +group_path -name lvds_clk -critical_range 0.15 -weight 2 +group_path -name sclk -critical_range 0.50 -weight 1 + + +######################################################################################################################################################### +# Set Asynchronous Clock +######################################################################################################################################################### +set_clock_groups -asynchronous -group {clk} -group {sclk} +set_clock_groups -asynchronous -group {clk} -group {lvds_clk} +set_clock_groups -asynchronous -group {lvds_clk} -group {sclk} + +set_max_delay 1.25 -from [get_clocks lvds_clk] -to [get_clocks clk] +set_max_delay 10 -from [get_clocks sclk] -to [get_clocks clk] +set_max_delay 10 -from [get_clocks sclk] -to [get_clocks lvds_clk] + +######################################################################################## +#set_case_analysis +######################################################################################## + +#spi +set_max_delay 3 -from [get_ports PI_sclk] -to [get_cells U_digital_top/U_spi_slave/U_spi_sys/sclk_reg_dffrs/qout_r_reg[0]] +set_max_delay 3 -from [get_ports PI_mosi ] -to [get_cells U_digital_top/U_spi_slave/U_spi_sys/mosi_reg_dffr/qout_r_reg[0]] +set_max_delay 3 -from [get_ports PI_csn] -to [get_cells U_digital_top/U_spi_slave/U_spi_sys/csn_reg_dffrs/qout_r_reg[0]] + +set_max_delay 3 -from [get_cells U_digital_top/U_spi_slave/U_spi_sys/spi_dout_dffr/qout_r*] -to [get_ports PO_miso] + +#sync_in +set_max_delay 2 -from [get_ports PI_sync_in] + +set_dont_touch_network -no_propagate [get_ports PI_*] +set_dont_touch_network -no_propagate [get_ports PO_*] + + + +set_max_delay 3 -from [get_cells U_digital_top/pulse_inst_sync/pulse_reg] -to [get_ports PO_sync_out ] + + +set_max_delay 3 -from [get_cells U_digital_top/U_systemregfile/irq_dffr/qout_r*] -to [get_ports PO_irq] + + +######################################################################################## +# set_false_path & set_dont_touch_network & set_ideal_network +######################################################################################## + +set_false_path -from [get_ports PI_async_rstn] + +set_ideal_network [get_ports PI_async_rstn] + +set_ideal_network [get_ports clk] + +set_ideal_network [get_ports lvds_clk] + +set_ideal_network [get_ports PI_sclk] + + +set_dont_touch [get_cells U_iopad] + +set_multicycle_path 2 -setup -to [get_cells U_digital_top/U_spi_slave/U_spi_sys/rddata_reg_dfflr/qout_r*] +set_multicycle_path 1 -hold -to [get_cells U_digital_top/U_spi_slave/U_spi_sys/rddata_reg_dfflr/qout_r*] + +####ramp +set_multicycle_path 2 -setup -from [get_cells U_digital_top/U_systemregfile/ramp_ifs_dfflrs/qout_r*] +set_multicycle_path 1 -hold -from [get_cells U_digital_top/U_systemregfile/ramp_ifs_dfflrs/qout_r*] + +set_multicycle_path 2 -setup -from [get_cells U_digital_top/U_systemregfile/rampctr_dfflrs/qout_r*] +set_multicycle_path 1 -hold -from [get_cells U_digital_top/U_systemregfile/rampctr_dfflrs/qout_r*] + + +######################################################################################## +#set max fanout +######################################################################################## +set_max_fanout 32 [current_design] + +######################################################################################## +#set transition +######################################################################################## +#set_max_transition 0.15 [current_design] +set_max_transition -clock_path 0.25 [all_clocks] +set_max_transition -data_path 0.6 [all_clocks] + +set_input_transition 0.1 [get_ports clk] + +set_input_transition 0.15 [remove_from_collection [all_inputs] [get_ports clk]] + +######################################################################################## +#set divre & load & capacitance +######################################################################################## +#set_driving_cell -lib_cell CKBD20BWP7T35P140 -pin Z -from_pin I -input_transition_rise 0.075 -input_transition_fall 0.075 [get_ports clk] + +#set_driving_cell -lib_cell BUFFD4BWP7T35P140 -pin Z -from_pin I -input_transition_rise 0.1 -input_transition_fall 0.1 [remove_from_collection [all_inputs] [get_ports clk]] + +#set_driving 0.1 [remove_from_collection [all_inputs] [get_ports clk]] + +#set_load +set_load -pin_load 0.05 [all_outputs] + +#set_max_capacitance +set_max_capacitance 0.1 [current_design] + + + + + + + + diff --git a/DA4008_V1.3/syn/scripts/change_name.tcl b/DA4008_V1.3/syn/scripts/change_name.tcl new file mode 100644 index 0000000..d14c7b8 --- /dev/null +++ b/DA4008_V1.3/syn/scripts/change_name.tcl @@ -0,0 +1,6 @@ +set_fix_multiple_port_nets -all -buffer_constants [get_designs *] +set hdlout_internal_busses true +set bus_inference_style "%s\[%d\]" +set veriligout_no_tri true +define_name_rules verilog -check_bus_indexing -allowed {a-zA-Z0-9_} -remove_internal_net_bus -flatten_multi_dimension_busses -first_restricted "\\" +change_names -rules verilog -hier -log_changes $svars(dir,logs)/change_names.log diff --git a/DA4008_V1.3/syn/scripts/command.log b/DA4008_V1.3/syn/scripts/command.log new file mode 100644 index 0000000..caaac89 --- /dev/null +++ b/DA4008_V1.3/syn/scripts/command.log @@ -0,0 +1,7470 @@ +#@ # +#@ # Running dc_shell Version M-2016.12-SP4 for linux64 -- May 20, 2017 +#@ # Date: Thu Oct 8 14:39:42 2020 +#@ # Run by: pengwy@qhfhlx001 +#@ + +source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/admin/setup/.synopsys_dc.setup +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/admin/setup/.synopsys_dc.setup + +#@ # +#@ # ".synopsys_dc.setup" Initialization File for +#@ # +#@ # Dc_Shell and Design_Analyzer +#@ # +#@ # The variables in this file define the behavior of many parts +#@ # of the Synopsys Synthesis Tools. Upon installation, they should +#@ # be reviewed and modified to fit your site's needs. Each engineer +#@ # can have a .synopsys file in his/her home directory or current +#@ # directory to override variable settings in this file. +#@ # +#@ # Each logical grouping of variables is commented as to their +#@ # nature and effect on the Synthesis Commands. Examples of +#@ # variable groups are the Compile Variable Group, which affects +#@ # the designs produced by the COMPILE command, and the Schematic +#@ # Variable Group, which affects the output of the create_schematic +#@ # command. +#@ # +#@ # You can type "man _variables" in dc_shell or +#@ # design_analyzer to get help about a group of variables. +#@ # For instance, to get help about the "system" variable group, +#@ # type "help system_variables". You can also type +#@ # "man ", to get help on the that variable's +#@ # group. +#@ # +#@ +#@ # System variables +#@ set sh_command_abbrev_mode "Anywhere" +#@ set sh_continue_on_error "true" +#@ update_app_var -default true sh_continue_on_error +#@ set sh_enable_page_mode "true" +#@ update_app_var -default true sh_enable_page_mode +#@ set sh_source_uses_search_path "true" +#@ update_app_var -default true sh_source_uses_search_path +#@ if {$synopsys_program_name == "dc_shell" || $synopsys_program_name == "de_shell" || $synopsys_program_name == "dc_sms_shell" } { +#@ set sh_new_variable_message "false" +#@ update_app_var -default false sh_new_variable_message +#@ } else { +#@ set sh_new_variable_message "true" +#@ update_app_var -default true sh_new_variable_message +#@ } +#@ +#@ if {$synopsys_program_name == "dc_shell"} { +#@ set html_log_enable "false" +#@ set html_log_filename "default.html" +#@ } +#@ +#@ if {$synopsys_program_name == "de_shell"} { +#@ set de_log_html_filename "default.html" +#@ } +#@ +#@ if {$synopsys_program_name == "dc_shell" || $synopsys_program_name == "de_shell"} { +#@ lappend auto_path [file join ${synopsys_root} auxx syn lib] +#@ package require cae +#@ } +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/tm.tcl + +#@ # -*- tcl -*- +#@ # +#@ # Searching for Tcl Modules. Defines a procedure, declares it as the primary +#@ # command for finding packages, however also uses the former 'package unknown' +#@ # command as a fallback. +#@ # +#@ # Locates all possible packages in a directory via a less restricted glob. The +#@ # targeted directory is derived from the name of the requested package, i.e. +#@ # the TM scan will look only at directories which can contain the requested +#@ # package. It will register all packages it found in the directory so that +#@ # future requests have a higher chance of being fulfilled by the ifneeded +#@ # database without having to come to us again. +#@ # +#@ # We do not remember where we have been and simply rescan targeted directories +#@ # when invoked again. The reasoning is this: +#@ # +#@ # - The only way we get back to the same directory is if someone is trying to +#@ # [package require] something that wasn't there on the first scan. +#@ # +#@ # Either +#@ # 1) It is there now: If we rescan, you get it; if not you don't. +#@ # +#@ # This covers the possibility that the application asked for a package +#@ # late, and the package was actually added to the installation after the +#@ # application was started. It shoukld still be able to find it. +#@ # +#@ # 2) It still is not there: Either way, you don't get it, but the rescan +#@ # takes time. This is however an error case and we dont't care that much +#@ # about it +#@ # +#@ # 3) It was there the first time; but for some reason a "package forget" has +#@ # been run, and "package" doesn't know about it anymore. +#@ # +#@ # This can be an indication that the application wishes to reload some +#@ # functionality. And should work as well. +#@ # +#@ # Note that this also strikes a balance between doing a glob targeting a +#@ # single package, and thus most likely requiring multiple globs of the same +#@ # directory when the application is asking for many packages, and trying to +#@ # glob for _everything_ in all subdirectories when looking for a package, +#@ # which comes with a heavy startup cost. +#@ # +#@ # We scan for regular packages only if no satisfying module was found. +#@ +#@ namespace eval ::tcl::tm { +#@ # Default paths. None yet. +#@ +#@ variable paths {} +#@ +#@ # The regex pattern a file name has to match to make it a Tcl Module. +#@ +#@ set pkgpattern {^([_[:alpha:]][:_[:alnum:]]*)-([[:digit:]].*)[.]tm$} +#@ +#@ # Export the public API +#@ +#@ namespace export path +#@ namespace ensemble create -command path -subcommands {add remove list} +#@ } +#@ +#@ # ::tcl::tm::path implementations -- +#@ # +#@ # Public API to the module path. See specification. +#@ # +#@ # Arguments +#@ # cmd - The subcommand to execute +#@ # args - The paths to add/remove. Must not appear querying the +#@ # path with 'list'. +#@ # +#@ # Results +#@ # No result for subcommands 'add' and 'remove'. A list of paths for +#@ # 'list'. +#@ # +#@ # Sideeffects +#@ # The subcommands 'add' and 'remove' manipulate the list of paths to +#@ # search for Tcl Modules. The subcommand 'list' has no sideeffects. +#@ +#@ proc ::tcl::tm::add {args} { +#@ # PART OF THE ::tcl::tm::path ENSEMBLE +#@ # +#@ # The path is added at the head to the list of module paths. +#@ # +#@ # The command enforces the restriction that no path may be an ancestor +#@ # directory of any other path on the list. If the new path violates this +#@ # restriction an error wil be raised. +#@ # +#@ # If the path is already present as is no error will be raised and no +#@ # action will be taken. +#@ +#@ variable paths +#@ +#@ # We use a copy of the path as source during validation, and extend it as +#@ # well. Because we not only have to detect if the new paths are bogus with +#@ # respect to the existing paths, but also between themselves. Otherwise we +#@ # can still add bogus paths, by specifying them in a single call. This +#@ # makes the use of the new paths simpler as well, a trivial assignment of +#@ # the collected paths to the official state var. +#@ +#@ set newpaths $paths +#@ foreach p $args { +#@ if {$p in $newpaths} { +#@ # Ignore a path already on the list. +#@ continue +#@ } +#@ +#@ # Search for paths which are subdirectories of the new one. If there +#@ # are any then the new path violates the restriction about ancestors. +#@ +#@ set pos [lsearch -glob $newpaths ${p}/*] +#@ # Cannot use "in", we need the position for the message. +#@ if {$pos >= 0} { +#@ return -code error "$p is ancestor of existing module path [lindex $newpaths $pos]." +#@ } +#@ +#@ # Now look for existing paths which are ancestors of the new one. This +#@ # reverse question forces us to loop over the existing paths, as each +#@ # element is the pattern, not the new path :( +#@ +#@ foreach ep $newpaths { +#@ if {[string match ${ep}/* $p]} { +#@ return -code error "$p is subdirectory of existing module path $ep." +#@ } +#@ } +#@ +#@ set newpaths [linsert $newpaths 0 $p] +#@ } +#@ +#@ # The validation of the input is complete and successful, and everything +#@ # in newpaths is either an old path, or added. We can now extend the +#@ # official list of paths, a simple assignment is sufficient. +#@ +#@ set paths $newpaths +#@ return +#@ } +#@ +#@ proc ::tcl::tm::remove {args} { +#@ # PART OF THE ::tcl::tm::path ENSEMBLE +#@ # +#@ # Removes the path from the list of module paths. The command is silently +#@ # ignored if the path is not on the list. +#@ +#@ variable paths +#@ +#@ foreach p $args { +#@ set pos [lsearch -exact $paths $p] +#@ if {$pos >= 0} { +#@ set paths [lreplace $paths $pos $pos] +#@ } +#@ } +#@ } +#@ +#@ proc ::tcl::tm::list {} { +#@ # PART OF THE ::tcl::tm::path ENSEMBLE +#@ +#@ variable paths +#@ return $paths +#@ } +#@ +#@ # ::tcl::tm::UnknownHandler -- +#@ # +#@ # Unknown handler for Tcl Modules, i.e. packages in module form. +#@ # +#@ # Arguments +#@ # original - Original [package unknown] procedure. +#@ # name - Name of desired package. +#@ # version - Version of desired package. Can be the +#@ # empty string. +#@ # exact - Either -exact or ommitted. +#@ # +#@ # Name, version, and exact are used to determine satisfaction. The +#@ # original is called iff no satisfaction was achieved. The name is also +#@ # used to compute the directory to target in the search. +#@ # +#@ # Results +#@ # None. +#@ # +#@ # Sideeffects +#@ # May populate the package ifneeded database with additional provide +#@ # scripts. +#@ +#@ proc ::tcl::tm::UnknownHandler {original name args} { +#@ # Import the list of paths to search for packages in module form. +#@ # Import the pattern used to check package names in detail. +#@ +#@ variable paths +#@ variable pkgpattern +#@ +#@ # Without paths to search we can do nothing. (Except falling back to the +#@ # regular search). +#@ +#@ if {[llength $paths]} { +#@ set pkgpath [string map {:: /} $name] +#@ set pkgroot [file dirname $pkgpath] +#@ if {$pkgroot eq "."} { +#@ set pkgroot "" +#@ } +#@ +#@ # We don't remember a copy of the paths while looping. Tcl Modules are +#@ # unable to change the list while we are searching for them. This also +#@ # simplifies the loop, as we cannot get additional directories while +#@ # iterating over the list. A simple foreach is sufficient. +#@ +#@ set satisfied 0 +#@ foreach path $paths { +#@ if {![interp issafe] && ![file exists $path]} { +#@ continue +#@ } +#@ set currentsearchpath [file join $path $pkgroot] +#@ if {![interp issafe] && ![file exists $currentsearchpath]} { +#@ continue +#@ } +#@ set strip [llength [file split $path]] +#@ +#@ # We can't use glob in safe interps, so enclose the following in a +#@ # catch statement, where we get the module files out of the +#@ # subdirectories. In other words, Tcl Modules are not-functional +#@ # in such an interpreter. This is the same as for the command +#@ # "tclPkgUnknown", i.e. the search for regular packages. +#@ +#@ catch { +#@ # We always look for _all_ possible modules in the current +#@ # path, to get the max result out of the glob. +#@ +#@ foreach file [glob -nocomplain -directory $currentsearchpath *.tm] { +#@ set pkgfilename [join [lrange [file split $file] $strip end] ::] +#@ +#@ if {![regexp -- $pkgpattern $pkgfilename --> pkgname pkgversion]} { +#@ # Ignore everything not matching our pattern for +#@ # package names. +#@ continue +#@ } +#@ try { +#@ package vcompare $pkgversion 0 +#@ } on error {} { +#@ # Ignore everything where the version part is not +#@ # acceptable to "package vcompare". +#@ continue +#@ } +#@ +#@ if {[package ifneeded $pkgname $pkgversion] ne {}} { +#@ # There's already a provide script registered for +#@ # this version of this package. Since all units of +#@ # code claiming to be the same version of the same +#@ # package ought to be identical, just stick with +#@ # the one we already have. +#@ continue +#@ } +#@ +#@ # We have found a candidate, generate a "provide script" +#@ # for it, and remember it. Note that we are using ::list +#@ # to do this; locally [list] means something else without +#@ # the namespace specifier. +#@ +#@ # NOTE. When making changes to the format of the provide +#@ # command generated below CHECK that the 'LOCATE' +#@ # procedure in core file 'platform/shell.tcl' still +#@ # understands it, or, if not, update its implementation +#@ # appropriately. +#@ # +#@ # Right now LOCATE's implementation assumes that the path +#@ # of the package file is the last element in the list. +#@ +#@ package ifneeded $pkgname $pkgversion "[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]" +#@ +#@ # We abort in this unknown handler only if we got a +#@ # satisfying candidate for the requested package. +#@ # Otherwise we still have to fallback to the regular +#@ # package search to complete the processing. +#@ +#@ if {($pkgname eq $name) +#@ && [package vsatisfies $pkgversion {*}$args]} { +#@ set satisfied 1 +#@ +#@ # We do not abort the loop, and keep adding provide +#@ # scripts for every candidate in the directory, just +#@ # remember to not fall back to the regular search +#@ # anymore. +#@ } +#@ } +#@ } +#@ } +#@ +#@ if {$satisfied} { +#@ return +#@ } +#@ } +#@ +#@ # Fallback to previous command, if existing. See comment above about +#@ # ::list... +#@ +#@ if {[llength $original]} { +#@ uplevel 1 $original [::linsert $args 0 $name] +#@ } +#@ } +#@ +#@ # ::tcl::tm::Defaults -- +#@ # +#@ # Determines the default search paths. +#@ # +#@ # Arguments +#@ # None +#@ # +#@ # Results +#@ # None. +#@ # +#@ # Sideeffects +#@ # May add paths to the list of defaults. +#@ +#@ proc ::tcl::tm::Defaults {} { +#@ global env tcl_platform +#@ +#@ lassign [split [info tclversion] .] major minor +#@ set exe [file normalize [info nameofexecutable]] +#@ +#@ # Note that we're using [::list], not [list] because [list] means +#@ # something other than [::list] in this namespace. +#@ roots [::list [file dirname [info library]] [file join [file dirname [file dirname $exe]] lib] ] +#@ +#@ if {$tcl_platform(platform) eq "windows"} { +#@ set sep ";" +#@ } else { +#@ set sep ":" +#@ } +#@ for {set n $minor} {$n >= 0} {incr n -1} { +#@ foreach ev [::list TCL${major}.${n}_TM_PATH TCL${major}_${n}_TM_PATH ] { +#@ if {![info exists env($ev)]} continue +#@ foreach p [split $env($ev) $sep] { +#@ path add $p +#@ } +#@ } +#@ } +#@ return +#@ } +#@ +#@ # ::tcl::tm::roots -- +#@ # +#@ # Public API to the module path. See specification. +#@ # +#@ # Arguments +#@ # paths - List of 'root' paths to derive search paths from. +#@ # +#@ # Results +#@ # No result. +#@ # +#@ # Sideeffects +#@ # Calls 'path add' to paths to the list of module search paths. +#@ +#@ proc ::tcl::tm::roots {paths} { +#@ lassign [split [package present Tcl] .] major minor +#@ foreach pa $paths { +#@ set p [file join $pa tcl$major] +#@ for {set n $minor} {$n >= 0} {incr n -1} { +#@ set px [file join $p ${major}.${n}] +#@ if {![interp issafe]} {set px [file normalize $px]} +#@ path add $px +#@ } +#@ set px [file join $p site-tcl] +#@ if {![interp issafe]} {set px [file normalize $px]} +#@ path add $px +#@ } +#@ return +#@ } +#@ +#@ # Initialization. Set up the default paths, then insert the new handler into +#@ # the chain. +#@ +#@ if {![interp issafe]} {::tcl::tm::Defaults} +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/tm.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/package.tcl + +#@ # package.tcl -- +#@ # +#@ # utility procs formerly in init.tcl which can be loaded on demand +#@ # for package management. +#@ # +#@ # Copyright (c) 1991-1993 The Regents of the University of California. +#@ # Copyright (c) 1994-1998 Sun Microsystems, Inc. +#@ # +#@ # See the file "license.terms" for information on usage and redistribution +#@ # of this file, and for a DISCLAIMER OF ALL WARRANTIES. +#@ # +#@ +#@ namespace eval tcl::Pkg {} +#@ +#@ # ::tcl::Pkg::CompareExtension -- +#@ # +#@ # Used internally by pkg_mkIndex to compare the extension of a file to a given +#@ # extension. On Windows, it uses a case-insensitive comparison because the +#@ # file system can be file insensitive. +#@ # +#@ # Arguments: +#@ # fileName name of a file whose extension is compared +#@ # ext (optional) The extension to compare against; you must +#@ # provide the starting dot. +#@ # Defaults to [info sharedlibextension] +#@ # +#@ # Results: +#@ # Returns 1 if the extension matches, 0 otherwise +#@ +#@ proc tcl::Pkg::CompareExtension {fileName {ext {}}} { +#@ global tcl_platform +#@ if {$ext eq ""} {set ext [info sharedlibextension]} +#@ if {$tcl_platform(platform) eq "windows"} { +#@ return [string equal -nocase [file extension $fileName] $ext] +#@ } else { +#@ # Some unices add trailing numbers after the .so, so +#@ # we could have something like '.so.1.2'. +#@ set root $fileName +#@ while {1} { +#@ set currExt [file extension $root] +#@ if {$currExt eq $ext} { +#@ return 1 +#@ } +#@ +#@ # The current extension does not match; if it is not a numeric +#@ # value, quit, as we are only looking to ignore version number +#@ # extensions. Otherwise we might return 1 in this case: +#@ # tcl::Pkg::CompareExtension foo.so.bar .so +#@ # which should not match. +#@ +#@ if {![string is integer -strict [string range $currExt 1 end]]} { +#@ return 0 +#@ } +#@ set root [file rootname $root] +#@ } +#@ } +#@ } +#@ +#@ # pkg_mkIndex -- +#@ # This procedure creates a package index in a given directory. The package +#@ # index consists of a "pkgIndex.tcl" file whose contents are a Tcl script that +#@ # sets up package information with "package require" commands. The commands +#@ # describe all of the packages defined by the files given as arguments. +#@ # +#@ # Arguments: +#@ # -direct (optional) If this flag is present, the generated +#@ # code in pkgMkIndex.tcl will cause the package to be +#@ # loaded when "package require" is executed, rather +#@ # than lazily when the first reference to an exported +#@ # procedure in the package is made. +#@ # -verbose (optional) Verbose output; the name of each file that +#@ # was successfully rocessed is printed out. Additionally, +#@ # if processing of a file failed a message is printed. +#@ # -load pat (optional) Preload any packages whose names match +#@ # the pattern. Used to handle DLLs that depend on +#@ # other packages during their Init procedure. +#@ # dir - Name of the directory in which to create the index. +#@ # args - Any number of additional arguments, each giving +#@ # a glob pattern that matches the names of one or +#@ # more shared libraries or Tcl script files in +#@ # dir. +#@ +#@ proc pkg_mkIndex {args} { +#@ set usage {"pkg_mkIndex ?-direct? ?-lazy? ?-load pattern? ?-verbose? ?--? dir ?pattern ...?"} +#@ +#@ set argCount [llength $args] +#@ if {$argCount < 1} { +#@ return -code error "wrong # args: should be\n$usage" +#@ } +#@ +#@ set more "" +#@ set direct 1 +#@ set doVerbose 0 +#@ set loadPat "" +#@ for {set idx 0} {$idx < $argCount} {incr idx} { +#@ set flag [lindex $args $idx] +#@ switch -glob -- $flag { +#@ -- { +#@ # done with the flags +#@ incr idx +#@ break +#@ } +#@ -verbose { +#@ set doVerbose 1 +#@ } +#@ -lazy { +#@ set direct 0 +#@ append more " -lazy" +#@ } +#@ -direct { +#@ append more " -direct" +#@ } +#@ -load { +#@ incr idx +#@ set loadPat [lindex $args $idx] +#@ append more " -load $loadPat" +#@ } +#@ -* { +#@ return -code error "unknown flag $flag: should be\n$usage" +#@ } +#@ default { +#@ # done with the flags +#@ break +#@ } +#@ } +#@ } +#@ +#@ set dir [lindex $args $idx] +#@ set patternList [lrange $args [expr {$idx + 1}] end] +#@ if {![llength $patternList]} { +#@ set patternList [list "*.tcl" "*[info sharedlibextension]"] +#@ } +#@ +#@ try { +#@ set fileList [glob -directory $dir -tails -types {r f} -- {*}$patternList] +#@ } on error {msg opt} { +#@ return -options $opt $msg +#@ } +#@ foreach file $fileList { +#@ # For each file, figure out what commands and packages it provides. +#@ # To do this, create a child interpreter, load the file into the +#@ # interpreter, and get a list of the new commands and packages that +#@ # are defined. +#@ +#@ if {$file eq "pkgIndex.tcl"} { +#@ continue +#@ } +#@ +#@ set c [interp create] +#@ +#@ # Load into the child any packages currently loaded in the parent +#@ # interpreter that match the -load pattern. +#@ +#@ if {$loadPat ne ""} { +#@ if {$doVerbose} { +#@ tclLog "currently loaded packages: '[info loaded]'" +#@ tclLog "trying to load all packages matching $loadPat" +#@ } +#@ if {![llength [info loaded]]} { +#@ tclLog "warning: no packages are currently loaded, nothing" +#@ tclLog "can possibly match '$loadPat'" +#@ } +#@ } +#@ foreach pkg [info loaded] { +#@ if {![string match -nocase $loadPat [lindex $pkg 1]]} { +#@ continue +#@ } +#@ if {$doVerbose} { +#@ tclLog "package [lindex $pkg 1] matches '$loadPat'" +#@ } +#@ try { +#@ load [lindex $pkg 0] [lindex $pkg 1] $c +#@ } on error err { +#@ if {$doVerbose} { +#@ tclLog "warning: load [lindex $pkg 0] [lindex $pkg 1]\nfailed with: $err" +#@ } +#@ } on ok {} { +#@ if {$doVerbose} { +#@ tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]" +#@ } +#@ } +#@ if {[lindex $pkg 1] eq "Tk"} { +#@ # Withdraw . if Tk was loaded, to avoid showing a window. +#@ $c eval [list wm withdraw .] +#@ } +#@ } +#@ +#@ $c eval { +#@ # Stub out the package command so packages can require other +#@ # packages. +#@ +#@ rename package __package_orig +#@ proc package {what args} { +#@ switch -- $what { +#@ require { +#@ return; # Ignore transitive requires +#@ } +#@ default { +#@ __package_orig $what {*}$args +#@ } +#@ } +#@ } +#@ proc tclPkgUnknown args {} +#@ package unknown tclPkgUnknown +#@ +#@ # Stub out the unknown command so package can call into each other +#@ # during their initialilzation. +#@ +#@ proc unknown {args} {} +#@ +#@ # Stub out the auto_import mechanism +#@ +#@ proc auto_import {args} {} +#@ +#@ # reserve the ::tcl namespace for support procs and temporary +#@ # variables. This might make it awkward to generate a +#@ # pkgIndex.tcl file for the ::tcl namespace. +#@ +#@ namespace eval ::tcl { +#@ variable dir ;# Current directory being processed +#@ variable file ;# Current file being processed +#@ variable direct ;# -direct flag value +#@ variable x ;# Loop variable +#@ variable debug ;# For debugging +#@ variable type ;# "load" or "source", for -direct +#@ variable namespaces ;# Existing namespaces (e.g., ::tcl) +#@ variable packages ;# Existing packages (e.g., Tcl) +#@ variable origCmds ;# Existing commands +#@ variable newCmds ;# Newly created commands +#@ variable newPkgs {} ;# Newly created packages +#@ } +#@ } +#@ +#@ $c eval [list set ::tcl::dir $dir] +#@ $c eval [list set ::tcl::file $file] +#@ $c eval [list set ::tcl::direct $direct] +#@ +#@ # Download needed procedures into the slave because we've just deleted +#@ # the unknown procedure. This doesn't handle procedures with default +#@ # arguments. +#@ +#@ foreach p {::tcl::Pkg::CompareExtension} { +#@ $c eval [list namespace eval [namespace qualifiers $p] {}] +#@ $c eval [list proc $p [info args $p] [info body $p]] +#@ } +#@ +#@ try { +#@ $c eval { +#@ set ::tcl::debug "loading or sourcing" +#@ +#@ # we need to track command defined by each package even in the +#@ # -direct case, because they are needed internally by the +#@ # "partial pkgIndex.tcl" step above. +#@ +#@ proc ::tcl::GetAllNamespaces {{root ::}} { +#@ set list $root +#@ foreach ns [namespace children $root] { +#@ lappend list {*}[::tcl::GetAllNamespaces $ns] +#@ } +#@ return $list +#@ } +#@ +#@ # init the list of existing namespaces, packages, commands +#@ +#@ foreach ::tcl::x [::tcl::GetAllNamespaces] { +#@ set ::tcl::namespaces($::tcl::x) 1 +#@ } +#@ foreach ::tcl::x [package names] { +#@ if {[package provide $::tcl::x] ne ""} { +#@ set ::tcl::packages($::tcl::x) 1 +#@ } +#@ } +#@ set ::tcl::origCmds [info commands] +#@ +#@ # Try to load the file if it has the shared library extension, +#@ # otherwise source it. It's important not to try to load +#@ # files that aren't shared libraries, because on some systems +#@ # (like SunOS) the loader will abort the whole application +#@ # when it gets an error. +#@ +#@ if {[::tcl::Pkg::CompareExtension $::tcl::file [info sharedlibextension]]} { +#@ # The "file join ." command below is necessary. Without +#@ # it, if the file name has no \'s and we're on UNIX, the +#@ # load command will invoke the LD_LIBRARY_PATH search +#@ # mechanism, which could cause the wrong file to be used. +#@ +#@ set ::tcl::debug loading +#@ load [file join $::tcl::dir $::tcl::file] +#@ set ::tcl::type load +#@ } else { +#@ set ::tcl::debug sourcing +#@ source [file join $::tcl::dir $::tcl::file] +#@ set ::tcl::type source +#@ } +#@ +#@ # As a performance optimization, if we are creating direct +#@ # load packages, don't bother figuring out the set of commands +#@ # created by the new packages. We only need that list for +#@ # setting up the autoloading used in the non-direct case. +#@ if {!$::tcl::direct} { +#@ # See what new namespaces appeared, and import commands +#@ # from them. Only exported commands go into the index. +#@ +#@ foreach ::tcl::x [::tcl::GetAllNamespaces] { +#@ if {![info exists ::tcl::namespaces($::tcl::x)]} { +#@ namespace import -force ${::tcl::x}::* +#@ } +#@ +#@ # Figure out what commands appeared +#@ +#@ foreach ::tcl::x [info commands] { +#@ set ::tcl::newCmds($::tcl::x) 1 +#@ } +#@ foreach ::tcl::x $::tcl::origCmds { +#@ unset -nocomplain ::tcl::newCmds($::tcl::x) +#@ } +#@ foreach ::tcl::x [array names ::tcl::newCmds] { +#@ # determine which namespace a command comes from +#@ +#@ set ::tcl::abs [namespace origin $::tcl::x] +#@ +#@ # special case so that global names have no +#@ # leading ::, this is required by the unknown +#@ # command +#@ +#@ set ::tcl::abs [lindex [auto_qualify $::tcl::abs ::] 0] +#@ +#@ if {$::tcl::x ne $::tcl::abs} { +#@ # Name changed during qualification +#@ +#@ set ::tcl::newCmds($::tcl::abs) 1 +#@ unset ::tcl::newCmds($::tcl::x) +#@ } +#@ } +#@ } +#@ } +#@ +#@ # Look through the packages that appeared, and if there is a +#@ # version provided, then record it +#@ +#@ foreach ::tcl::x [package names] { +#@ if {[package provide $::tcl::x] ne "" +#@ && ![info exists ::tcl::packages($::tcl::x)]} { +#@ lappend ::tcl::newPkgs [list $::tcl::x [package provide $::tcl::x]] +#@ } +#@ } +#@ } +#@ } on error msg { +#@ set what [$c eval set ::tcl::debug] +#@ if {$doVerbose} { +#@ tclLog "warning: error while $what $file: $msg" +#@ } +#@ } on ok {} { +#@ set what [$c eval set ::tcl::debug] +#@ if {$doVerbose} { +#@ tclLog "successful $what of $file" +#@ } +#@ set type [$c eval set ::tcl::type] +#@ set cmds [lsort [$c eval array names ::tcl::newCmds]] +#@ set pkgs [$c eval set ::tcl::newPkgs] +#@ if {$doVerbose} { +#@ if {!$direct} { +#@ tclLog "commands provided were $cmds" +#@ } +#@ tclLog "packages provided were $pkgs" +#@ } +#@ if {[llength $pkgs] > 1} { +#@ tclLog "warning: \"$file\" provides more than one package ($pkgs)" +#@ } +#@ foreach pkg $pkgs { +#@ # cmds is empty/not used in the direct case +#@ lappend files($pkg) [list $file $type $cmds] +#@ } +#@ +#@ if {$doVerbose} { +#@ tclLog "processed $file" +#@ } +#@ } +#@ interp delete $c +#@ } +#@ +#@ append index "# Tcl package index file, version 1.1\n" +#@ append index "# This file is generated by the \"pkg_mkIndex$more\" command\n" +#@ append index "# and sourced either when an application starts up or\n" +#@ append index "# by a \"package unknown\" script. It invokes the\n" +#@ append index "# \"package ifneeded\" command to set up package-related\n" +#@ append index "# information so that packages will be loaded automatically\n" +#@ append index "# in response to \"package require\" commands. When this\n" +#@ append index "# script is sourced, the variable \$dir must contain the\n" +#@ append index "# full path name of this file's directory.\n" +#@ +#@ foreach pkg [lsort [array names files]] { +#@ set cmd {} +#@ lassign $pkg name version +#@ lappend cmd ::tcl::Pkg::Create -name $name -version $version +#@ foreach spec [lsort -index 0 $files($pkg)] { +#@ foreach {file type procs} $spec { +#@ if {$direct} { +#@ set procs {} +#@ } +#@ lappend cmd "-$type" [list $file $procs] +#@ } +#@ } +#@ append index "\n[eval $cmd]" +#@ } +#@ +#@ set f [open [file join $dir pkgIndex.tcl] w] +#@ puts $f $index +#@ close $f +#@ } +#@ +#@ # tclPkgSetup -- +#@ # This is a utility procedure use by pkgIndex.tcl files. It is invoked as +#@ # part of a "package ifneeded" script. It calls "package provide" to indicate +#@ # that a package is available, then sets entries in the auto_index array so +#@ # that the package's files will be auto-loaded when the commands are used. +#@ # +#@ # Arguments: +#@ # dir - Directory containing all the files for this package. +#@ # pkg - Name of the package (no version number). +#@ # version - Version number for the package, such as 2.1.3. +#@ # files - List of files that constitute the package. Each +#@ # element is a sub-list with three elements. The first +#@ # is the name of a file relative to $dir, the second is +#@ # "load" or "source", indicating whether the file is a +#@ # loadable binary or a script to source, and the third +#@ # is a list of commands defined by this file. +#@ +#@ proc tclPkgSetup {dir pkg version files} { +#@ global auto_index +#@ +#@ package provide $pkg $version +#@ foreach fileInfo $files { +#@ set f [lindex $fileInfo 0] +#@ set type [lindex $fileInfo 1] +#@ foreach cmd [lindex $fileInfo 2] { +#@ if {$type eq "load"} { +#@ set auto_index($cmd) [list load [file join $dir $f] $pkg] +#@ } else { +#@ set auto_index($cmd) [list source [file join $dir $f]] +#@ } +#@ } +#@ } +#@ } +#@ +#@ # tclPkgUnknown -- +#@ # This procedure provides the default for the "package unknown" function. It +#@ # is invoked when a package that's needed can't be found. It scans the +#@ # auto_path directories and their immediate children looking for pkgIndex.tcl +#@ # files and sources any such files that are found to setup the package +#@ # database. As it searches, it will recognize changes to the auto_path and +#@ # scan any new directories. +#@ # +#@ # Arguments: +#@ # name - Name of desired package. Not used. +#@ # version - Version of desired package. Not used. +#@ # exact - Either "-exact" or omitted. Not used. +#@ +#@ proc tclPkgUnknown {name args} { +#@ global auto_path env +#@ +#@ if {![info exists auto_path]} { +#@ return +#@ } +#@ # Cache the auto_path, because it may change while we run through the +#@ # first set of pkgIndex.tcl files +#@ set old_path [set use_path $auto_path] +#@ while {[llength $use_path]} { +#@ set dir [lindex $use_path end] +#@ +#@ # Make sure we only scan each directory one time. +#@ if {[info exists tclSeenPath($dir)]} { +#@ set use_path [lrange $use_path 0 end-1] +#@ continue +#@ } +#@ set tclSeenPath($dir) 1 +#@ +#@ # we can't use glob in safe interps, so enclose the following in a +#@ # catch statement, where we get the pkgIndex files out of the +#@ # subdirectories +#@ catch { +#@ foreach file [glob -directory $dir -join -nocomplain * pkgIndex.tcl] { +#@ set dir [file dirname $file] +#@ if {![info exists procdDirs($dir)]} { +#@ try { +#@ source $file +#@ } trap {POSIX EACCES} {} { +#@ # $file was not readable; silently ignore +#@ continue +#@ } on error msg { +#@ tclLog "error reading package index file $file: $msg" +#@ } on ok {} { +#@ set procdDirs($dir) 1 +#@ } +#@ } +#@ } +#@ } +#@ set dir [lindex $use_path end] +#@ if {![info exists procdDirs($dir)]} { +#@ set file [file join $dir pkgIndex.tcl] +#@ # safe interps usually don't have "file exists", +#@ if {([interp issafe] || [file exists $file])} { +#@ try { +#@ source $file +#@ } trap {POSIX EACCES} {} { +#@ # $file was not readable; silently ignore +#@ continue +#@ } on error msg { +#@ tclLog "error reading package index file $file: $msg" +#@ } on ok {} { +#@ set procdDirs($dir) 1 +#@ } +#@ } +#@ } +#@ +#@ set use_path [lrange $use_path 0 end-1] +#@ +#@ # Check whether any of the index scripts we [source]d above set a new +#@ # value for $::auto_path. If so, then find any new directories on the +#@ # $::auto_path, and lappend them to the $use_path we are working from. +#@ # This gives index scripts the (arguably unwise) power to expand the +#@ # index script search path while the search is in progress. +#@ set index 0 +#@ if {[llength $old_path] == [llength $auto_path]} { +#@ foreach dir $auto_path old $old_path { +#@ if {$dir ne $old} { +#@ # This entry in $::auto_path has changed. +#@ break +#@ } +#@ incr index +#@ } +#@ } +#@ +#@ # $index now points to the first element of $auto_path that has +#@ # changed, or the beginning if $auto_path has changed length Scan the +#@ # new elements of $auto_path for directories to add to $use_path. +#@ # Don't add directories we've already seen, or ones already on the +#@ # $use_path. +#@ foreach dir [lrange $auto_path $index end] { +#@ if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} { +#@ lappend use_path $dir +#@ } +#@ } +#@ set old_path $auto_path +#@ } +#@ } +#@ +#@ # tcl::MacOSXPkgUnknown -- +#@ # This procedure extends the "package unknown" function for MacOSX. It scans +#@ # the Resources/Scripts directories of the immediate children of the auto_path +#@ # directories for pkgIndex files. +#@ # +#@ # Arguments: +#@ # original - original [package unknown] procedure +#@ # name - Name of desired package. Not used. +#@ # version - Version of desired package. Not used. +#@ # exact - Either "-exact" or omitted. Not used. +#@ +#@ proc tcl::MacOSXPkgUnknown {original name args} { +#@ # First do the cross-platform default search +#@ uplevel 1 $original [linsert $args 0 $name] +#@ +#@ # Now do MacOSX specific searching +#@ global auto_path +#@ +#@ if {![info exists auto_path]} { +#@ return +#@ } +#@ # Cache the auto_path, because it may change while we run through the +#@ # first set of pkgIndex.tcl files +#@ set old_path [set use_path $auto_path] +#@ while {[llength $use_path]} { +#@ set dir [lindex $use_path end] +#@ +#@ # Make sure we only scan each directory one time. +#@ if {[info exists tclSeenPath($dir)]} { +#@ set use_path [lrange $use_path 0 end-1] +#@ continue +#@ } +#@ set tclSeenPath($dir) 1 +#@ +#@ # get the pkgIndex files out of the subdirectories +#@ foreach file [glob -directory $dir -join -nocomplain * Resources Scripts pkgIndex.tcl] { +#@ set dir [file dirname $file] +#@ if {![info exists procdDirs($dir)]} { +#@ try { +#@ source $file +#@ } trap {POSIX EACCES} {} { +#@ # $file was not readable; silently ignore +#@ continue +#@ } on error msg { +#@ tclLog "error reading package index file $file: $msg" +#@ } on ok {} { +#@ set procdDirs($dir) 1 +#@ } +#@ } +#@ } +#@ set use_path [lrange $use_path 0 end-1] +#@ +#@ # Check whether any of the index scripts we [source]d above set a new +#@ # value for $::auto_path. If so, then find any new directories on the +#@ # $::auto_path, and lappend them to the $use_path we are working from. +#@ # This gives index scripts the (arguably unwise) power to expand the +#@ # index script search path while the search is in progress. +#@ set index 0 +#@ if {[llength $old_path] == [llength $auto_path]} { +#@ foreach dir $auto_path old $old_path { +#@ if {$dir ne $old} { +#@ # This entry in $::auto_path has changed. +#@ break +#@ } +#@ incr index +#@ } +#@ } +#@ +#@ # $index now points to the first element of $auto_path that has +#@ # changed, or the beginning if $auto_path has changed length Scan the +#@ # new elements of $auto_path for directories to add to $use_path. +#@ # Don't add directories we've already seen, or ones already on the +#@ # $use_path. +#@ foreach dir [lrange $auto_path $index end] { +#@ if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} { +#@ lappend use_path $dir +#@ } +#@ } +#@ set old_path $auto_path +#@ } +#@ } +#@ +#@ # ::tcl::Pkg::Create -- +#@ # +#@ # Given a package specification generate a "package ifneeded" statement +#@ # for the package, suitable for inclusion in a pkgIndex.tcl file. +#@ # +#@ # Arguments: +#@ # args arguments used by the Create function: +#@ # -name packageName +#@ # -version packageVersion +#@ # -load {filename ?{procs}?} +#@ # ... +#@ # -source {filename ?{procs}?} +#@ # ... +#@ # +#@ # Any number of -load and -source parameters may be +#@ # specified, so long as there is at least one -load or +#@ # -source parameter. If the procs component of a module +#@ # specifier is left off, that module will be set up for +#@ # direct loading; otherwise, it will be set up for lazy +#@ # loading. If both -source and -load are specified, the +#@ # -load'ed files will be loaded first, followed by the +#@ # -source'd files. +#@ # +#@ # Results: +#@ # An appropriate "package ifneeded" statement for the package. +#@ +#@ proc ::tcl::Pkg::Create {args} { +#@ append err(usage) "[lindex [info level 0] 0] " +#@ append err(usage) "-name packageName -version packageVersion" +#@ append err(usage) "?-load {filename ?{procs}?}? ... " +#@ append err(usage) "?-source {filename ?{procs}?}? ..." +#@ +#@ set err(wrongNumArgs) "wrong # args: should be \"$err(usage)\"" +#@ set err(valueMissing) "value for \"%s\" missing: should be \"$err(usage)\"" +#@ set err(unknownOpt) "unknown option \"%s\": should be \"$err(usage)\"" +#@ set err(noLoadOrSource) "at least one of -load and -source must be given" +#@ +#@ # process arguments +#@ set len [llength $args] +#@ if {$len < 6} { +#@ error $err(wrongNumArgs) +#@ } +#@ +#@ # Initialize parameters +#@ array set opts {-name {} -version {} -source {} -load {}} +#@ +#@ # process parameters +#@ for {set i 0} {$i < $len} {incr i} { +#@ set flag [lindex $args $i] +#@ incr i +#@ switch -glob -- $flag { +#@ "-name" - +#@ "-version" { +#@ if {$i >= $len} { +#@ error [format $err(valueMissing) $flag] +#@ } +#@ set opts($flag) [lindex $args $i] +#@ } +#@ "-source" - +#@ "-load" { +#@ if {$i >= $len} { +#@ error [format $err(valueMissing) $flag] +#@ } +#@ lappend opts($flag) [lindex $args $i] +#@ } +#@ default { +#@ error [format $err(unknownOpt) [lindex $args $i]] +#@ } +#@ } +#@ } +#@ +#@ # Validate the parameters +#@ if {![llength $opts(-name)]} { +#@ error [format $err(valueMissing) "-name"] +#@ } +#@ if {![llength $opts(-version)]} { +#@ error [format $err(valueMissing) "-version"] +#@ } +#@ +#@ if {!([llength $opts(-source)] || [llength $opts(-load)])} { +#@ error $err(noLoadOrSource) +#@ } +#@ +#@ # OK, now everything is good. Generate the package ifneeded statment. +#@ set cmdline "package ifneeded $opts(-name) $opts(-version) " +#@ +#@ set cmdList {} +#@ set lazyFileList {} +#@ +#@ # Handle -load and -source specs +#@ foreach key {load source} { +#@ foreach filespec $opts(-$key) { +#@ lassign $filespec filename proclist +#@ +#@ if { [llength $proclist] == 0 } { +#@ set cmd "\[list $key \[file join \$dir [list $filename]\]\]" +#@ lappend cmdList $cmd +#@ } else { +#@ lappend lazyFileList [list $filename $key $proclist] +#@ } +#@ } +#@ } +#@ +#@ if {[llength $lazyFileList]} { +#@ lappend cmdList "\[list tclPkgSetup \$dir $opts(-name) $opts(-version) [list $lazyFileList]\]" +#@ } +#@ append cmdline [join $cmdList "\\n"] +#@ return $cmdline +#@ } +#@ +#@ interp alias {} ::pkg::create {} ::tcl::Pkg::Create +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/package.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/pkgIndex.tcl + +#@ # Copyright (c) 2016 Synopsys, Inc. This Synopsys software and all +#@ # associated documentation are proprietary to Synopsys, Inc. and may +#@ # only be used pursuant to the terms and conditions of a written +#@ # license agreement with Synopsys, Inc. All other use, reproduction, +#@ # modification, or distribution of the Synopsys software or the +#@ # associated documentation is strictly prohibited. +#@ +#@ package ifneeded cae 1.0 [list source [file join $dir syn.tcl]] +#@ package ifneeded cae::utils 1.0 [list source [file join $dir utils utils.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/iwidgets4.1/pkgIndex.tcl + +#@ # Tcl package index file +#@ package ifneeded iwidgets 4.1 " +#@ package require itk 4 +#@ namespace eval ::iwidgets { +#@ namespace export * +#@ variable library [file dirname [info script]] +#@ variable version 4.1 +#@ } +#@ source [file join $dir colors.itcl] +#@ source [file join $dir roman.itcl] +#@ source [file join $dir buttonbox.itk] +#@ source [file join $dir calendar.itk] +#@ source [file join $dir canvasprintbox.itk] +#@ source [file join $dir shell.itk] +#@ source [file join $dir dialogshell.itk] +#@ source [file join $dir dialog.itk] +#@ source [file join $dir canvasprintdialog.itk] +#@ source [file join $dir labeledframe.itk] +#@ source [file join $dir checkbox.itk] +#@ source [file join $dir labeledwidget.itk] +#@ source [file join $dir entryfield.itk] +#@ source [file join $dir combobox.itk] +#@ source [file join $dir datefield.itk] +#@ source [file join $dir dateentry.itk] +#@ source [file join $dir disjointlistbox.itk] +#@ source [file join $dir extbutton.itk] +#@ source [file join $dir extfileselectionbox.itk] +#@ source [file join $dir extfileselectiondialog.itk] +#@ source [file join $dir feedback.itk] +#@ source [file join $dir fileselectionbox.itk] +#@ source [file join $dir fileselectiondialog.itk] +#@ source [file join $dir finddialog.itk] +#@ source [file join $dir scrolledwidget.itk] +#@ source [file join $dir hierarchy.itk] +#@ source [file join $dir hyperhelp.itk] +#@ source [file join $dir mainwindow.itk] +#@ source [file join $dir menubar.itk] +#@ source [file join $dir messagebox.itk] +#@ source [file join $dir messagedialog.itk] +#@ source [file join $dir notebook.itk] +#@ source [file join $dir optionmenu.itk] +#@ source [file join $dir panedwindow.itk] +#@ source [file join $dir pane.itk] +#@ source [file join $dir promptdialog.itk] +#@ source [file join $dir pushbutton.itk] +#@ source [file join $dir radiobox.itk] +#@ source [file join $dir regexpfield.itk] +#@ source [file join $dir scrolledcanvas.itk] +#@ source [file join $dir scrolledframe.itk] +#@ source [file join $dir scrolledtext.itk] +#@ source [file join $dir scrolledhtml.itk] +#@ source [file join $dir scrolledlistbox.itk] +#@ source [file join $dir selectionbox.itk] +#@ source [file join $dir selectiondialog.itk] +#@ source [file join $dir spindate.itk] +#@ source [file join $dir spinner.itk] +#@ source [file join $dir spinint.itk] +#@ source [file join $dir spintime.itk] +#@ source [file join $dir tabnotebook.itk] +#@ source [file join $dir tabset.itk] +#@ source [file join $dir timefield.itk] +#@ source [file join $dir timeentry.itk] +#@ source [file join $dir toolbar.itk] +#@ source [file join $dir watch.itk] +#@ package provide iwidgets 4.1 +#@ " +#@ +#@ package ifneeded Iwidgets 4.1 " +#@ package require iwidgets 4.1 +#@ package provide Iwidgets 4.1 +#@ " +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/iwidgets4.1/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsUtils/pkgIndex.tcl + +#@ # Tcl package index file, version 1.1 +#@ # This file is generated by the "pkg_mkIndex -direct" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ package ifneeded snpsUtils 1.0 [list source [file join $dir snpsUtils.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsUtils/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsTest/pkgIndex.tcl + +#@ # Tcl package index file, version 1.1 +#@ # This file is generated by the "pkg_mkIndex -direct" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ package ifneeded snpsTest 1.0 [list source [file join $dir snpsTest.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsTest/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsTclPro/pkgIndex.tcl + +#@ # Tcl package index file, version 1.1 +#@ # This file is generated by the "pkg_mkIndex -direct" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ package ifneeded snpsTclPro 1.0 [list source [file join $dir snpsTclPro.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/snpsTclPro/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/pkgIndex.tcl + +#@ package ifneeded Itcl 3.4 {load {} Itcl} +#@ package ifneeded tbcload 1.7 {load {} tbcload} +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/snps_tcl/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/opt/pkgIndex.tcl + +#@ # Tcl package index file, version 1.1 +#@ # This file is generated by the "pkg_mkIndex -direct" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ if {![package vsatisfies [package provide Tcl] 8.2]} {return} +#@ package ifneeded opt 0.4.6 [list source [file join $dir optparse.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/opt/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/http1.0/pkgIndex.tcl + +#@ # Tcl package index file, version 1.0 +#@ # This file is generated by the "pkg_mkIndex" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ package ifneeded http 1.0 [list tclPkgSetup $dir http 1.0 {{http.tcl source {httpCopyDone httpCopyStart httpEof httpEvent httpFinish httpMapReply httpProxyRequired http_code http_config http_data http_formatQuery http_get http_reset http_size http_status http_wait}}}] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/http1.0/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/dde/pkgIndex.tcl + +#@ if {([info commands ::tcl::pkgconfig] eq "") +#@ || ([info sharedlibextension] ne ".dll")} return +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/dde/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/tcltest/pkgIndex.tcl + +#@ # Tcl package index file, version 1.1 +#@ # This file is generated by the "pkg_mkIndex -direct" command +#@ # and sourced either when an application starts up or +#@ # by a "package unknown" script. It invokes the +#@ # "package ifneeded" command to set up package-related +#@ # information so that packages will be loaded automatically +#@ # in response to "package require" commands. When this +#@ # script is sourced, the variable $dir must contain the +#@ # full path name of this file's directory. +#@ +#@ if {![package vsatisfies [package provide Tcl] 8.5]} {return} +#@ package ifneeded tcltest 2.3.8 [list source [file join $dir tcltest.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/tcltest/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/http/pkgIndex.tcl + +#@ if {![package vsatisfies [package provide Tcl] 8.6]} {return} +#@ package ifneeded http 2.8.8 [list tclPkgSetup $dir http 2.8.8 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/http/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/platform/pkgIndex.tcl + +#@ package ifneeded platform 1.0.13 [list source [file join $dir platform.tcl]] +#@ package ifneeded platform::shell 1.1.4 [list source [file join $dir shell.tcl]] +#@ +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/platform/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/reg/pkgIndex.tcl + +#@ if {([info commands ::tcl::pkgconfig] eq "") +#@ || ([info sharedlibextension] ne ".dll")} return +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/reg/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/msgcat/pkgIndex.tcl + +#@ if {![package vsatisfies [package provide Tcl] 8.5]} {return} +#@ package ifneeded msgcat 1.5.2 [list source [file join $dir msgcat.tcl]] +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/tcllib/lib/tcl8.6/msgcat/pkgIndex.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/syn.tcl + +#@ # Copyright (c) 2016 Synopsys, Inc. This Synopsys software and all +#@ # associated documentation are proprietary to Synopsys, Inc. and may +#@ # only be used pursuant to the terms and conditions of a written +#@ # license agreement with Synopsys, Inc. All other use, reproduction, +#@ # modification, or distribution of the Synopsys software or the +#@ # associated documentation is strictly prohibited. +#@ +#@ # primary file of syn package +#@ +#@ # require all the sub-packages (if any) +#@ +#@ # name of the provided package +#@ +#@ package provide cae 1.0 +#@ +#@ # create command group after loading sub packages +#@ # because last group is listed first by "help" +#@ +#@ create_command_group "syn" -info "synthesis utilities" +#@ +#@ namespace eval ::cae { +#@ variable selfdir [file dirname [info script]] +#@ variable scripts [list auto_path_groups.tcl ] +#@ variable script +#@ } +#@ +#@ # source encrypted version if available +#@ # encrypted commands must use "define_proc_attributes -hide_body" +#@ +#@ foreach ::cae::script ${::cae::scripts} { +#@ if { [file exists ${::cae::selfdir}/${::cae::script}.e] } { +#@ source ${::cae::selfdir}/${::cae::script}.e +#@ } else { +#@ source ${::cae::selfdir}/${::cae::script} +#@ } +#@ } +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/auto_path_groups.tcl + +#@ # Copyright (c) 2016-2017 Synopsys, Inc. This Synopsys software and all +#@ # associated documentation are proprietary to Synopsys, Inc. and may +#@ # only be used pursuant to the terms and conditions of a written +#@ # license agreement with Synopsys, Inc. All other use, reproduction, +#@ # modification, or distribution of the Synopsys software or the +#@ # associated documentation is strictly prohibited. +#@ +#@ package require cae::utils +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/utils/utils.tcl + +#@ # Copyright (c) 2016 Synopsys, Inc. This Synopsys software and all +#@ # associated documentation are proprietary to Synopsys, Inc. and may +#@ # only be used pursuant to the terms and conditions of a written +#@ # license agreement with Synopsys, Inc. All other use, reproduction, +#@ # modification, or distribution of the Synopsys software or the +#@ # associated documentation is strictly prohibited. +#@ +#@ # primary file of cae::utils package +#@ +#@ # name of the provided package +#@ +#@ package provide cae::utils 1.0 +#@ +#@ namespace eval ::cae::utils { +#@ } +#@ +#@ proc ::cae::utils::msg { type s } { +#@ switch -glob -- ${type} { +#@ i* { return "INFO: ${s}" } +#@ w* { return "WARNING: ${s}" } +#@ e* { return "ERROR: ${s}" } +#@ } +#@ return +#@ } +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/utils/utils.tcl + +#@ +#@ namespace eval ::cae { +#@ +#@ # note: check if these are all necessary +#@ variable auto_path_groups_messages {ATTR-3 OPT-806 OPT-774 UID-101 TIM-134 TIM-99 OPT-806 MWUI-203 MW-212 TIM-112} +#@ +#@ # default prefix for path groups +#@ variable auto_path_groups_prefix synopsys_pg_ +#@ # default slack for path groups +#@ variable auto_path_groups_slack 0.0 +#@ # default max for path groups +#@ variable auto_path_groups_max 0 +#@ # default verbosity +#@ variable auto_path_groups_verbose false +#@ # default priority +#@ variable auto_path_groups_priority 1 +#@ # default min_regs_per_hierarchy +#@ variable auto_path_groups_min_regs_per_hierarchy 10 +#@ # registers path group suffix +#@ variable auto_path_groups_reg_suffix to_regs_ +#@ # macro path group suffix +#@ variable auto_path_groups_macro_suffix to_macros_ +#@ # ICG path group suffix +#@ variable auto_path_groups_icg_suffix to_ICGs +#@ # input path group suffix +#@ variable auto_path_groups_input_suffix inputs +#@ # output path group suffix +#@ variable auto_path_groups_output_suffix outputs +#@ # feedthrough path group suffix +#@ variable auto_path_groups_feedthrough_suffix feedthrough +#@ # user path groups +#@ variable auto_path_groups_user_path_groups_file auto_path_groups.user_path_groups.tcl +#@ } +#@ +#@ proc create_auto_path_groups { args } { +#@ variable ::cae::auto_path_groups_messages +#@ variable ::cae::auto_path_groups_prefix +#@ variable ::cae::auto_path_groups_slack +#@ variable ::cae::auto_path_groups_max +#@ variable ::cae::auto_path_groups_verbose +#@ variable ::cae::auto_path_groups_priority +#@ variable ::cae::auto_path_groups_min_regs_per_hierarchy +#@ variable ::cae::auto_path_groups_reg_suffix +#@ variable ::cae::auto_path_groups_macro_suffix +#@ variable ::cae::auto_path_groups_icg_suffix +#@ variable ::cae::auto_path_groups_input_suffix +#@ variable ::cae::auto_path_groups_output_suffix +#@ variable ::cae::auto_path_groups_feedthrough_suffix +#@ variable ::cae::auto_path_groups_user_path_groups_file +#@ +#@ set options(-slack) ${auto_path_groups_slack} +#@ set options(-max) ${auto_path_groups_max} +#@ set options(-prefix) ${auto_path_groups_prefix} +#@ set options(-verbose) ${auto_path_groups_verbose} +#@ set options(-priority) ${auto_path_groups_priority} +#@ set options(-min_regs_per_hierarchy) ${auto_path_groups_min_regs_per_hierarchy} +#@ set options(-exclude) [list] +#@ +#@ parse_proc_arguments -args ${args} options +#@ +#@ if { [info exists options(-file)] } { +#@ if { [catch {open $options(-file) w} fileId] } { +#@ return -code error [::cae::utils::msg e ${fileId}] +#@ } +#@ } +#@ +#@ # save user path groups +#@ if { ![info exists options(-skip)] } { +#@ echo [::cae::utils::msg i "Saving user path groups to ${auto_path_groups_user_path_groups_file}..."] +#@ if { [file exist ${auto_path_groups_user_path_groups_file}] } { +#@ echo [::cae::utils::msg w "File ${auto_path_groups_user_path_groups_file} already exists and will be overwritten..."] +#@ } +#@ if { [catch {open "| grep \"^group_path\" > ${auto_path_groups_user_path_groups_file}" w} channelId] } { +#@ return -code error [::cae::utils::msg e ${channelId}] +#@ } +#@ redirect -channel ${channelId} { write_script -nosplit } +#@ set r [catch {close ${channelId}} msg] +#@ switch ${r} { +#@ 0 { echo [::cae::utils::msg i "User path groups saved"] } +#@ 1 { echo [::cae::utils::msg i "No user path groups to save"] } +#@ default { return -code error [::cae::utils::msg e ${msg}] } +#@ } +#@ } +#@ +#@ set total 0 +#@ +#@ suppress_message ${auto_path_groups_messages} +#@ switch -- $options(-mode) { +#@ "rtl" { +#@ # create one path group per hierarchy +#@ +#@ echo [::cae::utils::msg i "Collecting hierarchies without optimize_registers..."] +#@ set optimize_registers_cells [get_cells -hier -filter {is_hierarchical==true && optimize_registers==true}] +#@ if { $options(-verbose) } { +#@ set optimize_registers_cells_names [lsort [get_object_name ${optimize_registers_cells}]] +#@ echo [::cae::utils::msg i "cells with optimize_registers: ${optimize_registers_cells_names}"] +#@ } +#@ set optimize_registers_sub_cells {} +#@ foreach_in_collection cell ${optimize_registers_cells} { +#@ redirect -file /dev/null {current_instance ${cell}} +#@ append_to_collection optimize_registers_sub_cells [get_cells -hier -filter {is_hierarchical==true && (optimize_registers==false || undefined(optimize_registers))}] +#@ } +#@ redirect -file /dev/null {current_instance} +#@ if { $options(-verbose) } { +#@ set optimize_registers_sub_cells_names [lsort [get_object_name ${optimize_registers_sub_cells}]] +#@ echo [::cae::utils::msg i "sub-cells of cells with optimize_registers: ${optimize_registers_sub_cells_names}"] +#@ } +#@ set path_group_cells [get_cells -hier -filter {is_hierarchical==true && is_sequential==true && (optimize_registers==false || undefined(optimize_registers))}] +#@ set path_group_cells [remove_from_collection ${path_group_cells} ${optimize_registers_sub_cells}] +#@ +#@ echo [::cae::utils::msg i "Collected [sizeof_collection ${path_group_cells}] hierarchies without optimize_registers"] +#@ +#@ set path_group_names [lsort [get_object_name ${path_group_cells}]] +#@ +#@ if { $options(-verbose) } { +#@ echo [::cae::utils::msg i "cells for which path groups will be created:"] +#@ foreach path_group_name ${path_group_names} { +#@ echo [::cae::utils::msg i " ${path_group_name}"] +#@ } +#@ } +#@ +#@ echo [::cae::utils::msg i "Creating path groups for hierarchies without optimize_registers..."] +#@ set counter 0 +#@ foreach path_group_name ${path_group_names} { +#@ set number_of_registers [sizeof_collection [get_cells ${path_group_name}/* -filter "is_hierarchical==false && is_sequential==true"]] +#@ if { ${number_of_registers} > $options(-min_regs_per_hierarchy) } { +#@ echo [::cae::utils::msg i "Number of sequential cells found in ${path_group_name} hierarchy: ${number_of_registers}"] +#@ set command "group_path -name $options(-prefix)${auto_path_groups_reg_suffix}${counter} -to \[get_cells ${path_group_name}/* -filter \"is_hierarchical==false && is_sequential==true\"\] -priority $options(-priority)" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ } else { +#@ echo [::cae::utils::msg i "Not enough sequential cells found in ${path_group_name} hierarchy (${number_of_registers}), skipping..."] +#@ } +#@ } +#@ echo [::cae::utils::msg i "Number of reg path groups created: ${counter}"] +#@ set total [expr {${total} + ${counter}}] +#@ } +#@ "mapped" { +#@ # create one path group per hierarchy not meeting timing +#@ +#@ array unset fail +#@ echo [::cae::utils::msg i "Collecting hierarchies with timing violations..."] +#@ foreach_in_collection pin [all_registers -data_pins] { +#@ set slack [get_attribute ${pin} max_slack] +#@ if { ${slack} < $options(-slack) && ${slack} != "" } { +#@ set cell [get_cells -of_objects ${pin}] +#@ set full_name [get_attribute ${cell} full_name] +#@ set name [get_attribute ${cell} name] +#@ if {[string length ${full_name}] > [string length ${name}]} { +#@ set length [expr [string length ${full_name}] - [string length ${name}] - 1] +#@ set hierarchy [string range ${full_name} 0 [expr ${length} - 1]] +#@ } else { +#@ set hierarchy "" +#@ } +#@ if { ![info exists fail(${hierarchy})] || +#@ ([info exists fail(${hierarchy})] && ${slack} < $fail(${hierarchy})) } { +#@ set fail(${hierarchy}) ${slack} +#@ } +#@ } +#@ } +#@ echo [::cae::utils::msg i "Collected [array size fail] hierarchies with timing violations"] +#@ +#@ if { $options(-max) > 0 } { +#@ echo [::cae::utils::msg i "Keeping only $options(-max) hierarchies with worst timing violations"] +#@ set hierarchy_slack_list [lsort -stride 2 -index 1 -real -increasing [array get fail]] +#@ set hierarchy_slack_list [lrange ${hierarchy_slack_list} 0 [expr {2 * $options(-max) - 1}]] +#@ array unset fail +#@ array set fail ${hierarchy_slack_list} +#@ } +#@ +#@ set path_group_names [lsort [array names fail]] +#@ +#@ if { $options(-verbose) } { +#@ echo [::cae::utils::msg i "hierarchies for which path groups will be created:"] +#@ foreach path_group_name ${path_group_names} { +#@ echo [::cae::utils::msg i " ${path_group_name} $fail(${path_group_name})"] +#@ } +#@ } +#@ +#@ echo [::cae::utils::msg i "Creating path groups for hierarchies with timing violations..."] +#@ set counter 0 +#@ foreach path_group_name ${path_group_names} { +#@ if { ${path_group_name} == "" } { +#@ set command "group_path -name $options(-prefix)${auto_path_groups_reg_suffix}${counter} -to \[get_cells * -filter {is_hierarchical==false && is_sequential==true}\] -priority $options(-priority)" +#@ } else { +#@ set command "group_path -name $options(-prefix)${auto_path_groups_reg_suffix}${counter} -to \[get_cells ${path_group_name}/* -filter {is_hierarchical==false && is_sequential==true}\] -priority $options(-priority)" +#@ } +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ } +#@ echo [::cae::utils::msg i "Number of reg path groups created: ${counter}"] +#@ set total [expr {${total} + ${counter}}] +#@ +#@ } +#@ +#@ } +#@ +#@ # macro path groups +#@ if { [lsearch $options(-exclude) macro] == -1} { +#@ echo [::cae::utils::msg i "Creating macro path groups..."] +#@ if { [shell_is_in_topographical_mode] } { +#@ #set macro_cells [all_macro_cells] +#@ set macro_cells [remove_from_collection [all_macro_cells] [get_cells -quiet -hier -all -filter "is_physical_only==true"]] +#@ } else { +#@ set macro_cells [get_cells -hier * -filter "is_macro_cell == true"] +#@ } +#@ if { [sizeof_collection ${macro_cells}] != 0 } { +#@ set path_group_names [get_object_name ${macro_cells}] +#@ set counter 0 +#@ foreach path_group_name ${path_group_names} { +#@ set command "group_path -name $options(-prefix)${auto_path_groups_macro_suffix}${counter} -to \[get_cells ${path_group_name}\] -priority $options(-priority)" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ } +#@ echo [::cae::utils::msg i "Number of macro path groups created: ${counter}"] +#@ set total [expr {${total} + ${counter}}] +#@ } else { +#@ echo [::cae::utils::msg i "No macro found, skipping..."] +#@ } +#@ } +#@ +#@ # ICG path groups +#@ if { [lsearch $options(-exclude) ICG] == -1} { +#@ echo [::cae::utils::msg i "Creating ICG path groups..."] +#@ set all_icg_cells [get_cells -hier -filter "full_name=~*latch || full_name=~*u_clkgate && defined(clock_gating_integrated_cell)"] +#@ if { [sizeof_collection ${all_icg_cells}] } { +#@ set counter 0 +#@ set command "group_path -name $options(-prefix)${auto_path_groups_icg_suffix} -to \[get_cells -hier -filter \"full_name=~*latch || full_name=~*u_clkgate && defined(clock_gating_integrated_cell)\"\] -priority $options(-priority)" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ echo [::cae::utils::msg i "Number of ICG path groups created: ${counter}"] +#@ set total [expr {${total} + ${counter}}] +#@ } else { +#@ echo [::cae::utils::msg i "No ICG found, skipping..."] +#@ } +#@ } +#@ +#@ # IO path groups +#@ if { [lsearch $options(-exclude) IO] == -1} { +#@ echo [::cae::utils::msg i "Creating IO path groups..."] +#@ set counter 0 +#@ set command "group_path -name $options(-prefix)${auto_path_groups_input_suffix} -from \[ remove_from_collection \[all_inputs\] \[get_ports \[get_attribute \[get_clocks -filter defined(sources)\] sources\]\] \]" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ set command "group_path -name $options(-prefix)${auto_path_groups_output_suffix} -to \[all_outputs\]" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ set command "group_path -name $options(-prefix)${auto_path_groups_feedthrough_suffix} -from \[ remove_from_collection \[all_inputs\] \[get_ports \[get_attribute \[get_clocks -filter defined(sources)\] sources\]\] \] -to \[all_outputs\]" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ incr counter +#@ echo [::cae::utils::msg i "Number of IO path groups created: ${counter}"] +#@ set total [expr {${total} + ${counter}}] +#@ } +#@ +#@ unsuppress_message ${auto_path_groups_messages} +#@ +#@ echo [::cae::utils::msg i "Total number of path groups created: ${total}"] +#@ +#@ if { [info exists options(-file)] } { +#@ close ${fileId} +#@ } +#@ +#@ return +#@ } +#@ +#@ define_proc_attributes create_auto_path_groups -command_group syn -dont_abbrev -hide_body -info "Creates path groups for current design" -define_args { +#@ { -mode "creates path groups for unmapped/mapped netlist" mode one_of_string {required value_help {values {rtl mapped}}} } +#@ { -exclude "excludes specific path groups (IO ICG macro) (default: empty list)" list list {optional} } +#@ { -slack "slack value used to select hierarchy violating timing (default: 0.0) - mapped mode only" slack float optional } +#@ { -max "maximum number of paths groups (default: 0=unlimited) - mapped mode only" max int optional } +#@ { -min_regs_per_hierarchy "minimum number of registers per hierarchy (default: 10) - rtl mode only" min_regs int optional } +#@ { -prefix "path group name prefix (default: synopsys_pg_)" prefix string optional } +#@ { -file "file name to dump group_path commands" file_name string optional } +#@ { -verbose "verbose mode" "" boolean optional } +#@ { -skip "do not save user path groups" "" boolean optional } +#@ } +#@ +#@ proc remove_auto_path_groups { args } { +#@ variable ::cae::auto_path_groups_messages +#@ variable ::cae::auto_path_groups_prefix +#@ variable ::cae::auto_path_groups_verbose +#@ variable ::cae::auto_path_groups_user_path_groups_file +#@ +#@ set options(-prefix) ${auto_path_groups_prefix} +#@ set options(-verbose) ${auto_path_groups_verbose} +#@ parse_proc_arguments -args ${args} options +#@ +#@ if { [info exists options(-file)] } { +#@ if {[catch {open $options(-file) w } fileId] } { +#@ return -code error [::cae::utils::msg e ${fileId}] +#@ } +#@ } +#@ +#@ suppress_message ${auto_path_groups_messages} +#@ set path_group_names [get_object_name [get_path_group -filter "full_name =~ $options(-prefix)*"]] +#@ foreach path_group_name ${path_group_names} { +#@ set command "remove_path_group ${path_group_name}" +#@ echo [::cae::utils::msg i ${command}] +#@ if { [info exists options(-file)] } { +#@ puts ${fileId} ${command} +#@ } +#@ eval ${command} +#@ } +#@ echo [::cae::utils::msg i "Number of path groups removed: [llength ${path_group_names}]"] +#@ unsuppress_message ${auto_path_groups_messages} +#@ +#@ if { [info exists options(-file)] } { +#@ close ${fileId} +#@ } +#@ +#@ # restore user path groups +#@ if { ![info exists options(-skip)] } { +#@ echo [::cae::utils::msg i "Restoring user path groups from ${auto_path_groups_user_path_groups_file}..."] +#@ if { [file exist ${auto_path_groups_user_path_groups_file}] && [file size ${auto_path_groups_user_path_groups_file}] != 0} { +#@ source -continue_on_error ${auto_path_groups_user_path_groups_file} +#@ echo [::cae::utils::msg i "User path groups restored"] +#@ } else { +#@ echo [::cae::utils::msg i "No user path groups to restore"] +#@ } +#@ file delete -force ${auto_path_groups_user_path_groups_file} +#@ } +#@ +#@ return +#@ } +#@ +#@ define_proc_attributes remove_auto_path_groups -command_group syn -dont_abbrev -hide_body -info "Removes path groups for current design" -define_args { +#@ { -prefix "path group name prefix (default: synopsys_pg)" prefix string optional } +#@ { -file "file name to dump group_path commands" file_name string optional } +#@ { -verbose "verbose mode" "" boolean optional } +#@ { -skip "do not restore user path groups" "" boolean optional } +#@ } +#@ +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/auto_path_groups.tcl + +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lib/syn.tcl + +#@ +#@ if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ set sh_enable_line_editing "true" +#@ set sh_line_editing_mode "emacs" +#@ } +#@ +#@ if {$synopsys_program_name == "icc_shell"} { +#@ if {"$sh_output_log_file" == ""} { +#@ set sh_output_log_file "icc_output.txt" +#@ } +#@ +#@ ## the variable sh_redirect_progress_messages only makes it possible +#@ ## for some commands to redirect progress messages to the log file,thereby +#@ ## bypassing the console and reducing the volume of messages on the console. +#@ set sh_redirect_progress_messages true +#@ } +#@ +#@ +#@ # Suppress new variable messages for the following variables +#@ array set auto_index {} +#@ set auto_oldpath "" +#@ +#@ # Enable customer support banner on fatal +#@ if { $sh_arch == "linux" || $sh_arch == "amd64" || $sh_arch == "linux64" || $sh_arch == "suse32" || $sh_arch == "suse64" || $sh_arch == "sparcOS5" || $sh_arch == "sparc64" || $sh_arch == "x86sol32" || $sh_arch == "x86sol64" || $sh_arch == "rs6000" || $sh_arch == "aix64" } { +#@ setenv SYNOPSYS_TRACE "" +#@ } +#@ +#@ # +#@ # Load the procedures which make up part of the user interface. +#@ # +#@ if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ source $synopsys_root/auxx/syn/.dc_common_procs.tcl +#@ if {$synopsys_program_name != "dc_sms_shell"} { +#@ source $synopsys_root/auxx/syn/.dc_procs.tcl +#@ } +#@ alias list_commands help +#@ } +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/.dc_common_procs.tcl + +#@ ############################################################################## +#@ # +#@ # +#@ # FILE: auxx/syn/.dc_common_procs.tcl +#@ # +#@ # ABSTRACT: These procedures are part of the PrimeTime and DC +#@ # user interface. +#@ # They are loaded by .synopsys_pt.setup and .synopsys_dc.setup. +#@ # +#@ ############################################################################## +#@ # +#@ # +#@ +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: group_variable +#@ # +#@ # ABSTRACT: Add a variable to the specified variable group. +#@ # This command is typically used by the system +#@ # administrator only. +#@ # +#@ # Below the proc is the command which creates the command +#@ # help information and semantic data for the argument. +#@ # +#@ # RETURNS: 1 if it is successful. +#@ # error code if the variable does not exist. +#@ # error code of the variable is already in the group. +#@ # +#@ # SYNTAX: group_variable group_name variable_name +#@ # +#@ ############################################################################## +#@ # +#@ +#@ +#@ proc group_variable { args } { +#@ global _Variable_Groups +#@ +#@ parse_proc_arguments -args $args resarr +#@ set group $resarr(group) +#@ set var $resarr(variable_name) +#@ +#@ if { ![info exists _Variable_Groups($group)] } { +#@ set _Variable_Groups($group) "" +#@ } +#@ +#@ # Verify that var exists as a global variable +#@ +#@ set cmd "uplevel #0 \{info exists $var\}" +#@ if { ![eval $cmd] } { +#@ return -code error "Variable '$var' is not defined." +#@ } +#@ +#@ # Only add it if it's not already there +#@ +#@ if { [lsearch $_Variable_Groups($group) $var] == -1 } { +#@ lappend _Variable_Groups($group) $var +#@ } +#@ +#@ return 1 +#@ } +#@ +#@ define_proc_attributes group_variable -info "Add a variable to a variable group" -command_group "Builtins" -permanent -dont_abbrev -define_args { +#@ {group "Variable group name" group} +#@ {variable_name "Variable name" variable_name}} +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: print_variable_group +#@ # +#@ # ABSTRACT: Shows variables and their values defined in the given group. +#@ +#@ # +#@ # Below the proc is the command which creates the command +#@ # help information and semantic data for the argument. +#@ # +#@ # RETURNS: 1 if it is successful. +#@ # error code of the variable group does not exist. +#@ # +#@ # SYNTAX: print_variable_group group_name +#@ # +#@ ############################################################################## +#@ # +#@ +#@ proc print_variable_group { args } { +#@ global _Variable_Groups +#@ +#@ parse_proc_arguments -args $args resarr +#@ set group $resarr(group) +#@ +#@ if { [string compare $group "all"] == 0 } { +#@ set cmd "uplevel #0 \{printvar\}" +#@ return [eval $cmd] +#@ } +#@ +#@ if { ![info exists _Variable_Groups($group)] } { +#@ return -code error "Variable group '$group' does not exist." +#@ } +#@ +#@ # Print out each global variable in the list. To be totally bulletproof, +#@ # test that each variable in the group is still defined. If not, remove +#@ # it from the list. +#@ +#@ foreach var [lsort $_Variable_Groups($group)] { +#@ set cmd "uplevel #0 \{info exists $var\}" +#@ if { ![eval $cmd] } { +#@ # Remove it +#@ set n [lsearch $_Variable_Groups($group) $var] +#@ set $_Variable_Groups($group) [lreplace $_Variable_Groups($group) $n $n] +#@ } else { +#@ # Print it. +#@ set cmd "uplevel #0 \{set $var\}" +#@ set val [eval $cmd] +#@ echo [format "%-25s = \"%s\"" $var $val] +#@ } +#@ } +#@ +#@ return 1 +#@ } +#@ +#@ define_proc_attributes print_variable_group -info "Print the contents of a variable group" -command_group "Builtins" -permanent -define_args {{group "Variable group name" group}} +#@ +#@ +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: _Variable_Groups_Get_Groups +#@ # +#@ # ABSTRACT: Return a list of all variable groups. This command is hidden +#@ # and is used by Design Vision. +#@ # +#@ # RETURNS: Tcl list of all variable groups including group all +#@ # +#@ # SYNTAX: _Variable_Groups_Get_Groups +#@ ############################################################################## +#@ # +#@ +#@ proc _Variable_Groups_Get_Groups { } { +#@ global _Variable_Groups +#@ +#@ set groups [array names _Variable_Groups] +#@ append groups " all" +#@ return $groups +#@ } +#@ define_proc_attributes _Variable_Groups_Get_Groups -hidden +#@ +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: _Variable_Groups_Get_Variables_Of_Group +#@ # +#@ # ABSTRACT: Return a list of all variables of a variable group. +#@ # It also works for pseudo group all. +#@ # +#@ # RETURNS: Tcl list of all variables of a variable group including +#@ # pseudo group all +#@ # +#@ # SYNTAX: _Variable_Groups_Get_Groups +#@ ############################################################################## +#@ # +#@ +#@ proc _Variable_Groups_Get_Variables_Of_Group { group } { +#@ global _Variable_Groups +#@ +#@ if { [string compare $group "all"] == 0 } { +#@ set itr [array startsearch _Variable_Groups] +#@ for { } { [array anymore _Variable_Groups $itr]} { } { +#@ set index [array nextelement _Variable_Groups $itr] +#@ append vars $_Variable_Groups($index) +#@ } +#@ array donesearch _Variable_Groups $itr +#@ return $vars +#@ } +#@ +#@ if { ![info exists _Variable_Groups($group)] } { +#@ return -code error "Variable group '$group' does not exist." +#@ } +#@ +#@ # Test if all variables in the list of variables are still defined. +#@ # Remove not existing variables. +#@ foreach var [lsort $_Variable_Groups($group)] { +#@ set cmd "uplevel #0 \{info exists $var\}" +#@ if { ![eval $cmd] } { +#@ # Remove it +#@ set n [lsearch $_Variable_Groups($group) $var] +#@ set $_Variable_Groups($group) [lreplace $_Variable_Groups($group) $n $n] +#@ } +#@ } +#@ return $_Variable_Groups($group) +#@ } +#@ define_proc_attributes _Variable_Groups_Get_Variables_Of_Group -hidden +#@ +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/.dc_common_procs.tcl + +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/.dc_procs.tcl + +#@ ############################################################################## +#@ # +#@ # +#@ # FILE: auxx/syn/.dc_procs.tcl +#@ # +#@ # ABSTRACT: These procedures are part of the Design Compiler Tcl +#@ # user interface. +#@ # They are loaded by .synopsys_dc.setup. +#@ # +#@ ############################################################################## +#@ # +#@ # +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_verilog +#@ # +#@ # ABSTRACT: Emulate PT's read_verilog command in DC: +#@ # +#@ # Usage: read_verilog # Read one or more verilog files +#@ # *[-hdl_compiler] (Use HDL Compiler (ignored)) +#@ # file_names (Files to read) +#@ # +#@ # Modified: Bharat 11/17/99. Use uplevel to ensure that the command +#@ # sees user/hidden variables from the top level. Star 92970. +#@ # +#@ # Modified: Evan Rosser, 12/5/01. Support -netlist and -rtl flags. +#@ # +#@ ############################################################################## +#@ # +#@ +#@ if { $synopsys_program_name != "icc_shell" } { +#@ proc read_verilog { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {read_file -format verilog %s %s [list %s]} [array names ra -rtl] [array names ra -netlist] $ra(file_names)] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_verilog -info " Read one or more verilog files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-netlist "Use structural Verilog netlist reader" "" boolean optional} +#@ {-rtl "Use RTL Verilog compiler (Presto or HDLC)" "" boolean optional} +#@ {-hdl_compiler "Use HDL Compiler (ignored)" "" boolean {hidden optional}} +#@ } +#@ } +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_sverilog +#@ # +#@ # ABSTRACT: Emulate PT's read_sverilog command in DC: +#@ # +#@ # Usage: read_sverilog # Read one or more systemverilog files +#@ # *[-hdl_compiler] (Use HDL Compiler (ignored)) +#@ # file_names (Files to read) +#@ # +#@ # Modified: Yong Xiao, 01/31/2003: Copied from read_verilog to support +#@ # systemverilog input. +#@ # +#@ ############################################################################## +#@ # +#@ +#@ proc read_sverilog { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {read_file -format sverilog %s %s [list %s]} [array names ra -rtl] [array names ra -netlist] $ra(file_names)] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_sverilog -info " Read one or more systemverilog files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-netlist "Use structural Verilog netlist reader" "" boolean optional} +#@ {-rtl "Use RTL Systemverilog compiler (Presto or HDLC)" "" boolean optional} +#@ {-hdl_compiler "Use HDL Compiler (ignored)" "" boolean {hidden optional}} +#@ } +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_vhdl +#@ # +#@ # ABSTRACT: Emulate PT's read_vhdl command in DC: +#@ # +#@ # Usage: read_vhdl # Read one or more vhdl files +#@ # file_names (Files to read) +#@ # +#@ # +#@ ############################################################################## +#@ # +#@ +#@ proc read_vhdl { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {read_file -format vhdl %s [list %s]} [array names ra -netlist] $ra(file_names)] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_vhdl -info " Read one or more vhdl files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-netlist "Use structural VHDL netlist reader" "" boolean optional} +#@ } +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_db +#@ # +#@ # ABSTRACT: Emulate PT's read_db command in DC: +#@ # +#@ # Usage: +#@ # read_db # Read one or more db files +#@ # *[-netlist_only] (Do not read any attributes from db (ignored)) +#@ # *[-library] (File is a library DB (ignored)) +#@ # file_names (Files to read) +#@ # +#@ # +#@ ############################################################################## +#@ # +#@ +#@ proc read_db { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {read_file -format db [list %s]} $ra(file_names)] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_db -info " Read one or more db files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-netlist_only "Do not read any attributes from db (ignored)" "" boolean {hidden optional}} +#@ {-library "File is a library DB (ignored)" "" boolean {hidden optional}} +#@ } +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_edif +#@ # +#@ # ABSTRACT: Emulate PT's read_edif command in DC: +#@ # +#@ # Usage: +#@ # read_edif # Read one or more edif files +#@ # *[-complete_language] (Use ptxr to read the file (ignored)) +#@ # file_names (Files to read) +#@ # +#@ # +#@ ############################################################################## +#@ # +#@ proc read_edif { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {read_file -format edif [list %s]} $ra(file_names)] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_edif -info " Read one or more edif files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-complete_language "Use ptxr to read the file (ignored)" "" boolean {hidden optional}} +#@ } +#@ +#@ +#@ ############################################################################## +#@ # +#@ # +#@ # PROCEDURE: read_ddc +#@ # +#@ # ABSTRACT: Shorthand for "read_file -format ddc": +#@ # +#@ # Usage: +#@ # read_ddc # Read one or more ddc files +#@ # *[-scenarios] only read constraints for specified scenarios +#@ # *[-active_scenarios] only activate the specified scenarios +#@ # file_names (Files to read) +#@ # +#@ # +#@ ############################################################################## +#@ # +#@ +#@ proc read_ddc { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "read_file -format ddc" +#@ if { [ info exists ra(-scenarios) ] } { +#@ set cmd "$cmd -scenarios { $ra(-scenarios) }" +#@ } +#@ if { [ info exists ra(-active_scenarios) ] } { +#@ set cmd "$cmd -active_scenarios { $ra(-active_scenarios) }" +#@ } +#@ set cmd "$cmd { $ra(file_names) }" +#@ return [uplevel \#0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_ddc -info "Read one or more ddc files" -permanent -define_args { +#@ {file_names "Files to read" file_names list required} +#@ {-scenarios "list of scenarios to be read from ddc file" +#@ scenario_list list optional} +#@ {-active_scenarios "list of scenarios to be made active" +#@ active_scenario_list list optional}} +#@ +#@ +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: source_tcl_file +#@ # +#@ # ABSTRACT: generic procedure to source another tcl file +#@ # +#@ # Arguments: +#@ # filename tcl filename +#@ # dir directory to check for file +#@ # msg verbose message +#@ # verbose verbose mode +#@ # +#@ # Usage: +#@ # +#@ ############################################################################## +#@ # +#@ proc source_tcl_file { filename dir msg {verbose 1} } { +#@ set __qual_pref_file [file join $dir $filename] +#@ if {[file exists $__qual_pref_file]} { +#@ if { $verbose } { +#@ echo $msg $__qual_pref_file +#@ } +#@ # use catch to recover from errors in the pref file +#@ echo_trace "Sourcing " $__qual_pref_file +#@ # to speed up sourcing use read and eval +#@ set f [open $__qual_pref_file] +#@ if {[catch {namespace eval :: [read -nonewline $f]} __msg]} { +#@ echo Error: Error during sourcing of $__qual_pref_file +#@ if {$__msg != ""} { echo $__msg } +#@ # actually, it looks like $__msg is always null after +#@ # source fails +#@ } +#@ close $f +#@ } else { +#@ echo_trace "Info: File '" $__qual_pref_file "' does not exist!" +#@ } +#@ } +#@ define_proc_attributes source_tcl_file -hidden +#@ +#@ +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: echo_trace +#@ # +#@ # ABSTRACT: echo only in trace modus +#@ # +#@ ############################################################################## +#@ # +#@ proc echo_trace { args } { +#@ if { [info exists ::env(TCL_TRACE)] } { +#@ echo TRACE\> [join $args "" ] +#@ } +#@ } +#@ define_proc_attributes echo_trace -hidden +#@ +#@ ############################################################################# +#@ # +#@ # Following procedures added for PC write_script +#@ # +#@ # +#@ # +#@ ############################################################################ +#@ +#@ proc set_cell_restriction { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {set_attribute %s -type integer restrictions %s } $ra(cell) $ra(value)] +#@ return [uplevel #0 $cmd] +#@ +#@ } +#@ define_proc_attributes set_cell_restriction -hidden -define_args { {cell "cell_name" cell string required} {value "value" value string required} } +#@ +#@ +#@ proc set_cell_soft_keepout {args} { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {set_keepout_margin -type soft -outer {%d %d %d %d} [list %s] } $ra(llx) $ra(lly) $ra(urx) $ra(ury) $ra(objects)] +#@ return [uplevel #0 $cmd] +#@ +#@ +#@ } +#@ +#@ define_proc_attributes set_cell_soft_keepout -hidden -define_args { {llx "llx" llx float required} {lly "lly" lly float required} {urx "urx" urx float required} {ury "ury" ury float required} {objects "objects" objects list required} } +#@ +#@ proc set_cell_hard_keepout {args} { +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {set_keepout_margin -type soft -outer {%d %d %d %d} [list %s] } $ra(llx) $ra(lly) $ra(urx) $ra(ury) $ra(objects)] +#@ return [uplevel #0 $cmd] +#@ +#@ +#@ } +#@ +#@ define_proc_attributes set_cell_hard_keepout -hidden -define_args { {llx "llx" llx float required} {lly "lly" lly float required} {urx "urx" urx float required} {ury "ury" ury float required} {objects "objects" objects list required} } +#@ +#@ set mw_use_pdb_lib_format false +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: write_milkyway +#@ # +#@ # ABSTRACT: wrapper around save_mw_cel to support original write_milkyway +#@ # interface +#@ # if { [info commands open_mw_cel] == "open_mw_cel" } {} +#@ # +#@ ############################################################################## +#@ +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ +#@ proc write_milkyway args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {save_mw_cel -as %s %s %s %s %s} $ra(-output) [array names ra -overwrite] [array names ra -create] [array names ra -all] [array names ra -dps]] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes write_milkyway -hidden -info " Saves the design as milkyway CEL" -define_args {{-output fileName "Name" string {optional}} {-overwrite "Overwrite the current version" "" boolean {optional}} {-create "Create from scratch" "" boolean {hidden optional}} {-all "Save all modified cells" "" boolean {hidden optional}} {-dps "Save internal DPS design" "" boolean {hidden optional}}} +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: read_milkyway +#@ # +#@ # ABSTRACT: wrapper around open_mw_cel to support original read_milkyway +#@ # interface +#@ # MODIFIED: To support DPS in Galileo we need to pass the filtering +#@ # parameters to the DPS command. (Pankaj Goswami, Mar09 2005) +#@ # +#@ ############################################################################## +#@ +#@ proc read_milkyway args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {open_mw_cel %s} $ra() ] +#@ +#@ if {[info exists ra(-library)]} { +#@ set cmd [concat [concat $cmd " -library " ] " $ra(-library) "] +#@ } +#@ +#@ if {[info exists ra(-read_only)]} { +#@ lappend cmd {-readonly} +#@ } +#@ +#@ # DPS specific stuff +#@ set dps_cmd "vh_set_current_partition " +#@ set read_mw_with_dps_filter false +#@ +#@ if {[info exists ra(-vh_module_only)]} { +#@ append dps_cmd "-vh_module_only " +#@ set read_mw_with_dps_filter true +#@ } +#@ +#@ if {[info exists ra(-vh_include)]} { +#@ append dps_cmd [concat " -vh_include " " \{ $ra(-vh_include) \}"] +#@ append dps_cmd " " +#@ set read_mw_with_dps_filter true +#@ } +#@ +#@ if {[info exists ra(-vh_exclude)]} { +#@ append dps_cmd [concat " -vh_exclude" " \{ $ra(-vh_exclude) \}"] +#@ set read_mw_with_dps_filter true +#@ } +#@ +#@ if { $read_mw_with_dps_filter == true } { +#@ # Call the DPS command to store the DPS filtering params. +#@ uplevel #0 $dps_cmd +#@ } else { +#@ # If there is no DPS filtering params, then we need to reset the +#@ # params which might have been stored from the provious command. +#@ append dps_cmd " -vh_reset_partition" +#@ uplevel #0 $dps_cmd +#@ } +#@ # End of DPS stuff +#@ +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes read_milkyway -hidden -info " Read milkyway CEL from disk" -define_args {{-library "library name" "lib_name" string {optional}} {-read_only "open design in read only mode" "" boolean {optional}} {-version "version number of the CEL" "number" string {optional}} {-vh_module_only "open design for DPS module only partition" "" boolean {hidden optional}} {-vh_include "list of designs to be included in the DPS partition" "include_designs" list {hidden optional}} {-vh_exclude "list of designs to be excluded in the DPS partition" "exclude_designs" list {hidden optional}} {"" fileName "CEL name" string {required}}} +#@ +#@ } +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: set_mw_technology_file +#@ # +#@ # ABSTRACT: wrapper around update_mw_lib +#@ # +#@ # HISTORY : 2009/6/21, yunz, support ALF reader in ICC +#@ # +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] || +#@ ([string match -nocase {*d[ce]_shell*} $synopsys_program_name] && [shell_is_mwlib_enabled]) } { +#@ +#@ proc set_mw_technology_file args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "" +#@ set lib_name "" +#@ set pdb_file "tech.pdb" +#@ set log_file "log_file" +#@ set alf_file "" +#@ +#@ if {[info exists ra(-technology)] && [info exists ra(-plib)]} { +#@ echo "Error: the $ra(-technology) and $ra(-plib) options are mutually exclusive." +#@ return [uplevel #0 $cmd] +#@ } elseif {[info exists ra(-technology)] && [info exists ra(-alf)]} { +#@ echo "Error: the $ra(-technology) and $ra(-alf) options are mutually exclusive." +#@ return [uplevel #0 $cmd] +#@ } elseif {[info exists ra(-plib)] && [info exists ra(-alf)]} { +#@ echo "Error: the $ra(-plib) and $ra(-alf) options are mutually exclusive." +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ if {[info exists ra(-technology)]} { +#@ +#@ set cmd [format {update_mw_lib -technology %s %s} $ra(-technology) $ra() ] +#@ } +#@ +#@ if {[info exists ra(-alf)]} { +#@ +#@ set cmd [format {update_mw_lib %s} $ra() ] +#@ +#@ set cmd [concat [concat $cmd " -alf " ] " $ra(-alf) "] +#@ } +#@ +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes set_mw_technology_file -hide_body -info " Set technology file for the library " -define_args {{-technology "Technology file name" "tech_file" string {optional}} {-alf "alf file name" "file_name" string {optional}} {"" "Library name" "libName" string {required}}} +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: rebuild_mw_lib +#@ # +#@ # ABSTRACT: wrapper around update_mw_lib +#@ # +#@ ############################################################################## +#@ +#@ proc rebuild_mw_lib args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {update_mw_lib -rebuild %s} $ra() ] +#@ +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes rebuild_mw_lib -hide_body -info " Rebuild the library " -define_args {{"" "Library name" "libName" string {required}}} +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: set_mw_lib_reference +#@ # +#@ # ABSTRACT: Procedure to set ref lib list or ref ctrl file +#@ # +#@ ############################################################################## +#@ +#@ proc set_mw_lib_reference args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "" +#@ +#@ if {[info exists ra(-mw_reference_library)]} { +#@ set cmd [format {set_reference_control_file -reference_libraries {%s} %s} $ra(-mw_reference_library) $ra() ] +#@ } +#@ +#@ if {[info exists ra(-reference_control_file)]} { +#@ set cmd [format {set_reference_control_file -file %s %s} $ra(-reference_control_file) $ra() ] +#@ } +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes set_mw_lib_reference -hide_body -info " Set reference for the library " -define_args {{-mw_reference_library "List of reference libraries" "lib_list" list {optional}} {-reference_control_file "Reference control file" "file_name" string {optional}} {"" "Library name" "libName" string {required}}} +#@ +#@ # +#@ ############################################################################## +#@ # +#@ # PROCEDURE: create_mw_lib +#@ # +#@ # ABSTRACT: wrapper around MWUI create_mw_lib +#@ # +#@ ############################################################################## +#@ +#@ proc create_mw_lib args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "" +#@ set lib_name "" +#@ set pdb_file "tech.pdb" +#@ set log_file "log_file" +#@ +#@ if {[info exists ra(-ignore_case)]} { +#@ set cmd [format {org_create_mw_lib %s} $ra() ] +#@ } else { +#@ set cmd [format {org_create_mw_lib -case_sensitive %s} $ra() ] +#@ } +#@ +#@ if {[info exists ra(-technology)]} { +#@ set cmd [concat [concat $cmd " -technology " ] " $ra(-technology) "] +#@ } +#@ +#@ if {[info exists ra(-ignore_tf_error)]} { +#@ set cmd [concat $cmd " -ignore_tf_error " ] +#@ } +#@ +#@ if {[info exists ra(-hier_separator)]} { +#@ set cmd [concat [concat $cmd " -hier_seperator " ] " $ra(-hier_separator) "] +#@ } +#@ +#@ if {[info exists ra(-bus_naming_style)]} { +#@ set cmd [concat [concat $cmd " -bus_naming_style " ] " {$ra(-bus_naming_style)} "] +#@ } +#@ +#@ +#@ if {[info exists ra(-reference_control_file)]} { +#@ set cmd [concat [concat $cmd " -reference_control_file " ] " $ra(-reference_control_file) "] +#@ } +#@ +#@ if {[info exists ra(-mw_reference_library)]} { +#@ set cmd [concat [concat [concat $cmd " -mw_reference_library {" ] " $ra(-mw_reference_library) "] "}"] +#@ } +#@ +#@ if { ![uplevel #0 $cmd] } { +#@ return 0 +#@ } +#@ +#@ set cmd "" +#@ +#@ if {[info exists ra(-open)]} { +#@ uplevel #0 $cmd +#@ set cmd [format {open_mw_lib %s} $ra() ] +#@ } +#@ +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes create_mw_lib -hide_body -info " Create a milkyway library " -define_args {{-technology "Technology file name" "file_name" string {optional}} {-ignore_tf_error "Ignore the error in technology file" "" boolean {hidden optional}} {-hier_separator "Hierarchical separator, default is backslash / " "separator" string {hidden optional}} {-bus_naming_style "Bus naming style" "bus_naming_style" string {optional}} {-ignore_case "Make case insensitive" "" boolean {hidden optional}} {-case_sensitive "Make case sensitive" "" boolean {hidden optional}} {-mw_reference_library "List of reference libraries" "lib_list" list {optional}} {-reference_control_file "Reference control file" "file_name" string {optional}} {-open "Open the library after creation" "" boolean {optional}} {"" "Library name to create" "libName" string {required}}} +#@ +#@ # +#@ ############################################################################## +#@ # +#@ # PROCEDURE: report_mw_lib +#@ # +#@ # ABSTRACT: wrapper around MWUI report_mw_lib +#@ # +#@ ############################################################################## +#@ +#@ proc report_mw_lib args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "" +#@ +#@ if {[info exists ra(-mw_reference_library)]} { +#@ if {[info exists ra()]} { +#@ set cmd [format {org_report_mw_lib -mw_reference_library %s} $ra() ] +#@ } else { +#@ set cmd [format {org_report_mw_lib -mw_reference_library} ] +#@ } +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ if {[info exists ra(-unit_range)]} { +#@ if {[info exists ra()]} { +#@ set cmd [format {org_report_mw_lib -unit_range %s} $ra() ] +#@ } else { +#@ echo "Error : Library name must be specified when using this option" +#@ return 0; +#@ } +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ } +#@ +#@ define_proc_attributes report_mw_lib -hide_body -info " Report information about the library " -define_args {{-unit_range "Report unit range of library" "" boolean {optional}} {-mw_reference_library "Report list of reference libraries" "" boolean {optional}} {"" "Library to be reported" "libName" string {optional}}} +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: close_mw_lib +#@ # +#@ # ABSTRACT: Wrapper around close_mw_lib to handle -save option properly +#@ # - save_mw_cel to save current cel with dc_netlist +#@ # - close_mw_cel to close current cel +#@ # - save_open_cels to save other open cels before closing library +#@ # +#@ ############################################################################## +#@ +#@ proc close_mw_lib args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ if {$args == ""} { +#@ set cmd [format {icc_is_dc_up} ] +#@ if {[uplevel #0 $cmd]} { +#@ set cmd [format {remove_design -quiet -designs} ] +#@ if {[uplevel #0 $cmd]} { +#@ set cmd [format {org_close_mw_lib } ] +#@ return [uplevel #0 $cmd] +#@ } else { +#@ return 0 +#@ } +#@ } else { +#@ set cmd [format {org_close_mw_lib } ] +#@ return [uplevel #0 $cmd] +#@ } +#@ } +#@ +#@ if {[info exists ra(-save)]} { +#@ +#@ set cmd [format {save_mw_cel} ] +#@ if {![uplevel #0 $cmd]} { +#@ return +#@ } +#@ +#@ set cmd [format {close_mw_cel} ] +#@ if {![uplevel #0 $cmd]} { +#@ return +#@ } +#@ +#@ set cmd [format {save_open_cels} ] +#@ if {![uplevel #0 $cmd]} { +#@ return +#@ } +#@ } +#@ +#@ set cmd [format {org_close_mw_lib} ] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ define_proc_attributes close_mw_lib -hide_body -info " Closes the milkyway library " -define_args {{-save "Save open cels" "" boolean {optional}} {"" "libraries to be closed" "lib list" list {hidden optional}}} +#@ } else { +#@ define_proc_attributes close_mw_lib -hide_body -info " Closes the milkyway library " -define_args {{-no_save "Don't save open cels" "" boolean {hidden optional}} {"" "libraries to be closed" "lib list" list {hidden optional}}} +#@ } +#@ ############################################################################## +#@ # +#@ # PROCEDURE: write_mw_lib_files +#@ # +#@ # ABSTRACT: Write technology or reference control file +#@ # History: Yun Zhang 2012/12/11, public option -stream_layer_map_file +#@ # History: Yun Zhang 2012/9/5. support new hidden option -vt_cell_placement_properties +#@ # History: Yun Zhang 2011/12/5. add new hidden option -stream_layer_map_file +#@ # +#@ ############################################################################## +#@ proc write_mw_lib_files args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd "" +#@ +#@ if {[info exists ra(-reference_control_file)]} { +#@ #Option -reference_contrl_file, -plib and -technology are exclusive. +#@ # If both of them are set at the same time, error reported. +#@ # 9000273455, by xqsun, 2009/2/4 +#@ if {[info exists ra(-technology)]} { +#@ echo "Error: Cannot specify '-reference_control_file' with '-technology'.(CMD-001)" +#@ return 0 +#@ } elseif {[info exists ra(-plib)]} { +#@ echo "Error: Cannot specify '-reference_control_file' with '-plib'.(CMD-001)" +#@ return 0 +#@ } elseif {[info exists ra(-vt_cell_placement_properties)]} { +#@ echo "Error: Cannot specify '-reference_control_file' with '-vt_cell_placement_properties'.(CMD-001)" +#@ return 0 +#@ } elseif {[info exists ra(-stream_layer_map_file)]} { +#@ echo "Error: Cannot specify '-reference_control_file' with '-stream_layer_map_file'.(CMD-001)" +#@ return 0 +#@ } else { +#@ set cmd [format {report_mw_lib_ref_ctrl_file -output %s %s} $ra(-output) $ra() ] +#@ return [uplevel #0 $cmd] +#@ } +#@ } +#@ +#@ if {[info exists ra(-technology)]} { +#@ if {[info exists ra(-plib)]} { +#@ echo "Error: Cannot specify '-technology' with '-plib'.(CMD-001)" +#@ return 0 +#@ } elseif {[info exists ra(-vt_cell_placement_properties)]} { +#@ echo "Error: Cannot specify '-technology' with '-vt_cell_placement_properties'.(CMD-001)" +#@ return 0 +#@ } elseif {[info exists ra(-stream_layer_map_file)]} { +#@ echo "Error: Cannot specify '-technology' with '-stream_layer_map_file'.(CMD-001)" +#@ return 0 +#@ } else { +#@ set cmd [format {org_report_mw_lib -output %s %s} $ra(-output) $ra() ] +#@ return [uplevel #0 $cmd] +#@ } +#@ } +#@ +#@ if {[info exists ra(-vt_cell_placement_properties)]} { +#@ if {[info exists ra(-stream_layer_map_file)]} { +#@ echo "Error: Cannot specify '-vt_cell_placement_properties' with '-stream_layer_map_file'.(CMD-001)" +#@ return 0 +#@ } else { +#@ set cmd [format {org_report_mw_lib -vt_cell_placement_properties -output %s %s} $ra(-output) $ra() ] +#@ return [uplevel #0 $cmd] +#@ } +#@ } +#@ +#@ if {[info exists ra(-stream_layer_map_file)]} { +#@ set cmd [format {org_report_mw_lib -stream_layer_map_file %s -output %s %s} $ra(-stream_layer_map_file) $ra(-output) $ra() ] +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ } +#@ +#@ define_proc_attributes write_mw_lib_files -hide_body -info " Write technology or reference control file " -define_args {{-technology "Dump technology file" "" boolean {optional}} {-vt_cell_placement_properties "Dump multi-VT cells' implant layer information of library" "" boolean {optional hidden}} {-reference_control_file "Dump reference control file" "" boolean {optional}} {-stream_layer_map_file "Dump layer map file during stream in/out" "" string {optional}} {-output "Output file" "file_name" string {required}} {"" "Library to be reported" "libName" string {required}}} +#@ } +#@ ############################################################################## +#@ # +#@ # PROCEDURE: close_mw_cel +#@ # +#@ # ABSTRACT: Wrapper around close_mw_cel to add -save option +#@ # remove_timing_design is the command to shutdown dc netlist +#@ # +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ +#@ proc close_mw_cel args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ global mw_is_all_views +#@ set cmd [format {icc_is_dc_up} ] +#@ set dc_is_up [uplevel #0 $cmd] +#@ +#@ set cmd_close [format {org_close_mw_cel} ] +#@ +#@ if {[info exists ra(-all_views)]} { +#@ set cmd_close [format {%s -all_views} $cmd_close] +#@ set mw_is_all_views 1 +#@ } +#@ if {[info exists ra(-all_versions)]} { +#@ set cmd_close [format {%s -all_versions} $cmd_close] +#@ } +#@ if {[info exists ra(-save)]} { +#@ set cmd_close [format {%s -save} $cmd_close] +#@ } +#@ if {[info exists ra(-verbose)]} { +#@ set cmd_close [format {%s -verbose} $cmd_close] +#@ } +#@ if {[info exists ra(-hierarchy)]} { +#@ set cmd_close [format {%s -hierarchy} $cmd_close] +#@ } +#@ +#@ ui_util_clean_saved_lib_attr $args +#@ +#@ set cmd "" +#@ set lcels "" +#@ set is_current_closed 1 +#@ +#@ if {[info exists ra()]} { +#@ set lcels $ra() +#@ } +#@ set len [string length $lcels] +#@ if {$len > 0} { +#@ set is_current_closed [is_current_mw_cel $lcels] +#@ set cmd_close [format {%s {%s}} $cmd_close $lcels] +#@ } +#@ if {[uplevel #0 $cmd_close]} { +#@ set mw_is_all_views 0 +#@ if {$dc_is_up == 1} { +#@ if {$is_current_closed == 1} { +#@ set cmd [format {remove_design -quiet -designs} ] +#@ return [uplevel #0 $cmd] +#@ } +#@ return 1 +#@ } else { +#@ return 1 +#@ } +#@ } else { +#@ set mw_is_all_views 0 +#@ return 0 +#@ } +#@ } +#@ +#@ define_proc_attributes close_mw_cel -hide_body -info " Closes the design " -define_args {{-save "Save the design" "" boolean {optional}} {-discard "Discard any changes" "" boolean {optional hidden}} {-verbose "Print out debugging messages" "" boolean {optional hidden}} {-hierarchy "Close top design and its child designs" "" boolean {optional}} {-all_views "Close all views of the design" "" boolean {optional}} {-all_versions "Close all versions of the design" "" boolean {optional}} {"" "designs to be closed" "design list" list {optional}}} +#@ +#@ ############################################################################## +#@ # +#@ # PROCEDURE: save_all_mw_cel +#@ # +#@ # ABSTRACT: Wrapper around save_mw_cel to save all the open cels. Needed for Black box flow. +#@ # +#@ ############################################################################## +#@ +#@ proc save_all_mw_cels { } { +#@ set top_cel [get_attribute [current_mw_cel] name] +#@ +#@ set cels [fp_get_open_cells] +#@ +#@ foreach cel $cels { +#@ if {$cel != $top_cel} { +#@ current_mw_cel $cel +#@ +#@ save_mw_cel +#@ } +#@ } +#@ +#@ current_mw_cel $top_cel +#@ +#@ save_mw_cel +#@ } +#@ +#@ icc_hide_cmd save_all_mw_cels +#@ +#@ ############################################################################## +#@ # PROCEDURE: execute_command_and_create_cel_from_scratch +#@ # ABSTRACT: This procedure executes the given command and creates the CEL +#@ # from scratch after executing this command. +#@ ############################################################################## +#@ proc execute_command_and_create_cel_from_scratch {org_cmd_name args} { +#@ global mw_create_cel_force +#@ global mw_enable_auto_cel +#@ global mw_force_auto_cel +#@ +#@ set lib [current_mw_lib] +#@ +#@ # If no MW lib, design is not from MW. Execute the original command +#@ # and return. +#@ if {$lib == ""} { +#@ return [eval $org_cmd_name $args] +#@ } +#@ +#@ # Get values of few variables. +#@ set incr_mode $mw_create_cel_force +#@ set mw_create_cel_force TRUE +#@ +#@ # Get auto cel mode, disable it temporarily if enabled. +#@ set auto_cel_mode $mw_enable_auto_cel +#@ set mw_enable_auto_cel FALSE +#@ +#@ # Check if the already existing CEL is auto-CEL. +#@ set auto_cel 0 +#@ if {[is_cel_auto_cel]} { +#@ set auto_cel 1 +#@ } elseif {![get_top_cel_mwid]} { +#@ set auto_cel 1 +#@ } +#@ +#@ +#@ # Run the original command, if not successful restore the incr_mode +#@ # variable and return. No CEL is created. +#@ if {![eval $org_cmd_name $args]} { +#@ set mw_create_cel_force $incr_mode +#@ set mw_enable_auto_cel $auto_cel_mode +#@ return 0 +#@ } +#@ +#@ # Restore auto_cel mode +#@ set mw_enable_auto_cel $auto_cel_mode +#@ +#@ # Now create auto or real CEL depending on what the original CEL was. +#@ if {$auto_cel == "1"} { +#@ # Force creation of auto-CEL, since commands other than read_def/pdef +#@ # do not decouple CEL from DC. +#@ +#@ set mw_force_auto_cel TRUE +#@ set cmd [format {save_mw_cel -auto}] +#@ } else { +#@ if [get_top_cel_mwid] { +#@ set cmd [format {save_mw_cel -create}] +#@ echo "Information: Command not supported by incr. update or write-thru." +#@ echo " Creating new CEL from scratch, old CEL will be closed." +#@ } +#@ } +#@ +#@ # Create the Auto CEL or normal CEL from scratch. +#@ if {![uplevel #0 $cmd]} { +#@ set mw_create_cel_force $incr_mode +#@ set mw_force_auto_cel FALSE +#@ return 0 +#@ } +#@ +#@ set mw_create_cel_force $incr_mode +#@ set mw_force_auto_cel FALSE +#@ return 1 +#@ } +#@ +#@ define_proc_attributes execute_command_and_create_cel_from_scratch -hidden -hide_body +#@ +#@ ############################################################################## +#@ # PROCEDURE: read_def +#@ # ABSTRACT: Wrapper around read_def to handle incremental update properly +#@ # if MW based read_def is used, bypass the wrapper +#@ # enable_milkyway_def_reader_writer must be TRUE and use_pdb_lib_format must +#@ # be false for MW read_Def to be run, use wrapper if either condition fails +#@ ############################################################################## +#@ rename -force dc_read_def org_read_def +#@ icc_hide_cmd org_read_def +#@ proc dc_read_def args { +#@ parse_proc_arguments -args $args ra +#@ +#@ return [eval execute_command_and_create_cel_from_scratch "org_read_def" $args] +#@ } +#@ +#@ define_proc_attributes dc_read_def -hide_body -info " Read a def file " -define_args {{-design "name of design for which clusters are to be read" "" string {optional}} {-quiet "do not print out any warnings" "" boolean {optional}} {-verbose "print out more warnings" "" boolean {optional}} {-allow_physical_cells "allow physical cells" "" boolean {optional}} {-allow_physical_ports "allow physical ports" "" boolean {optional}} {-allow_physical_nets "allow physical nets" "" boolean {optional}} {-skip_signal_nets "skip signal nets" "" boolean {optional}} {-incremental "incremental" "" boolean {optional}} {-enforce_scaling "enforce_scaling" "" boolean {optional}} {-move_bounds "move bounds" "" boolean {optional}} {"" "input def file names" "input_def_file_name" string {required}}} +#@ +#@ +#@ ############################################################################## +#@ # PROCEDURE: group +#@ # ABSTRACT: Wrapper around group to handle incremental update properly +#@ ############################################################################## +#@ rename -force group org_group +#@ icc_hide_cmd org_group +#@ proc group args { +#@ parse_proc_arguments -args $args ra +#@ return [eval execute_command_and_create_cel_from_scratch "org_group" $args] +#@ } +#@ +#@ define_proc_attributes group -hide_body -info " create new hierarchy" -define_args {{-except "cells not to be included in the group" "exclude_list" list {optional}} +#@ {-design_name "name of design created for new hierarchy" "design_name" string {optional}} +#@ {-cell_name "name of cell created for new hierarchy" "cell_name" string {optional}} +#@ {-logic "group any combinational elements" "" boolean {optional}} +#@ {-pla "group any PLA elements" "" boolean {optional}} +#@ {-fsm "group all elements part of a finite state machine" "" boolean {optional}} +#@ {-hdl_block "name of hdl_block to group" "" string {optional}} +#@ {-hdl_bussed "group all bussed gates under this block" "" boolean {optional}} +#@ {-hdl_all_blocks "group all hdl blocks under this block" "" boolean {optional}} +#@ {-soft "set the group_name attribute" "" boolean {optional}} +#@ {"" "cells to be included in the group" "cell_list" list {optional}}} +#@ +#@ ############################################################################## +#@ # PROCEDURE: copy_design +#@ # ABSTRACT: Wrapper around copy_design to handle incremental update properly +#@ ############################################################################## +#@ rename -force copy_design org_copy_design +#@ icc_hide_cmd org_copy_design +#@ proc copy_design args { +#@ parse_proc_arguments -args $args ra +#@ return [eval execute_command_and_create_cel_from_scratch "org_copy_design" $args] +#@ } +#@ +#@ define_proc_attributes copy_design -hide_body -info " copy_design" -define_args {{"" "List of designs to be copied" "design_list" list {required}} +#@ {"" "Name of new design or target file" "target_name" string {required}}} +#@ +#@ ############################################################################## +#@ # PROCEDURE: create_design +#@ # ABSTRACT: Wrapper around create_design to handle incremental update properly +#@ ############################################################################## +#@ rename -force create_design org_create_design +#@ icc_hide_cmd org_create_design +#@ proc create_design args { +#@ parse_proc_arguments -args $args ra +#@ return [eval execute_command_and_create_cel_from_scratch "org_create_design" $args] +#@ } +#@ +#@ define_proc_attributes create_design -hide_body -info " Creates a design in dc_shell memory" -define_args {{"" "name of the design to create" "" string {required}} +#@ {"" "name of file for design; optional" "" string {optional}}} +#@ +#@ ############################################################################## +#@ # PROCEDURE: reset_design +#@ # ABSTRACT: Wrapper around reset_design to handle incremental update properly +#@ ############################################################################## +#@ #rename -force reset_design org_reset_design +#@ #icc_hide_cmd org_reset_design +#@ #proc reset_design args { +#@ # parse_proc_arguments -args $args ra +#@ # return [eval execute_command_and_create_cel_from_scratch "org_reset_design" $args] +#@ #} +#@ +#@ ############################################################################## +#@ # PROCEDURE: rename_design +#@ # ABSTRACT: Wrapper around rename_design to handle incremental update properly +#@ ############################################################################## +#@ rename -force rename_design org_rename_design +#@ icc_hide_cmd org_rename_design +#@ proc rename_design args { +#@ parse_proc_arguments -args $args ra +#@ return [eval execute_command_and_create_cel_from_scratch "org_rename_design" $args] +#@ } +#@ +#@ define_proc_attributes rename_design -hide_body -info " rename_design" -define_args {{"" "List of designs to be renamed" "design_list" list {required}} +#@ {"" "Name of new design or target file" "target_name" string {required}}} +#@ +#@ } +#@ +#@ ############################################################################## +#@ # If we are in icc_shell (i.e. Galileo) then +#@ # load the procedures to switch between DC and Milkyway collections. +#@ # Set the default to MW collection unless otherwise specified. +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ # load the procedures that switch between DC and MW collections +#@ source $synopsys_root/auxx/syn/collection_procs.tcl +#@ +#@ set CS mw +#@ +#@ # see if the user wants DC +#@ if {! [catch {getenv USE_DC_COLLECTIONS_ONLY}] && +#@ [getenv USE_DC_COLLECTIONS_ONLY] } { +#@ set CS dc +#@ } +#@ +#@ # set the collection source now +#@ redirect /dev/null { +#@ if {[catch {set_collection_mode -handle $CS}]} { +#@ catch {set_collection_option -handle $CS} +#@ } +#@ } +#@ +#@ unset CS +#@ } +#@ +#@ ############################################################################## +#@ # procedure for route command +#@ # echo the command to a temp tcl file for seperate process to pick up +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ rename -force route org_route +#@ icc_hide_cmd org_route +#@ proc route args { +#@ set route_cmd_file_name ".route_cmd.tcl" +#@ set route_cmd_temp_file_name ".route_cmd.tcl.temp" +#@ set fp [open $route_cmd_file_name "w"] +#@ set route_cmd [concat "sep_proc_route " $args " -child"] +#@ puts $fp $route_cmd +#@ close $fp +#@ +#@ uplevel #0 rename -force route route_temp_proc +#@ uplevel #0 rename -force org_route route +#@ set status [ uplevel #0 route $args ] +#@ uplevel #0 rename -force route org_route +#@ uplevel #0 rename -force route_temp_proc route +#@ +#@ if { [info exist status ] == 1 } { +#@ return $status +#@ } +#@ return +#@ } +#@ } +#@ +#@ ############################################################################## +#@ # Tcl Command: set_ignore_cell +#@ # Description: Load the command only in IC Compiler (icc_shell) +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ source $synopsys_root/auxx/syn/psyn/ideal_cell.tcl.e +#@ } +#@ +#@ ############################################################################## +#@ # Tcl Command: check_physical_design +#@ # Description: Load the command only in IC Compiler (icc_shell) +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ # Load the compiled Tcl byte-code: +#@ # 9000784997: Do not log to command.log when sourcing .tbc files +#@ set prev_sh_source_logging [get_app_var sh_source_logging] +#@ set_app_var sh_source_logging 0 +#@ source $synopsys_root/auxx/syn/psyn/check_physical_design_core.tbc +#@ source $synopsys_root/auxx/syn/psyn/check_physical_design_utils.tbc +#@ source $synopsys_root/auxx/syn/psyn/check_physical_design_flows.tbc +#@ source $synopsys_root/auxx/syn/psyn/check_physical_design_reports.tbc +#@ source $synopsys_root/auxx/syn/psyn/check_physical_design_ui.tbc +#@ source $synopsys_root/auxx/syn/psyn/sanity_setup_opt.tbc +#@ source $synopsys_root/auxx/syn/psyn/sanity_setup_cmd.tbc +#@ source $synopsys_root/auxx/syn/psyn/sanity_setup_rpt.tbc +#@ source $synopsys_root/auxx/syn/psyn/create_qor_snapshot.tbc +#@ source $synopsys_root/auxx/syn/psyn/report_qor_snapshot.tbc +#@ source $synopsys_root/auxx/syn/psyn/msgParser.tbc +#@ source $synopsys_root/auxx/syn/psyn/displacement_gui.tbc +#@ source $synopsys_root/auxx/syn/psyn/categorize_timing_gui.tbc +#@ set_app_var sh_source_logging $prev_sh_source_logging +#@ +#@ source $synopsys_root/auxx/syn/psyn/mcmm_utils.tcl.e +#@ source $synopsys_root/auxx/syn/psyn/propagate_all_clocks.tcl.e +#@ } +#@ +#@ if { [string match -nocase {*dc_shell*} $synopsys_program_name] && [shell_is_in_topographical_mode] } { +#@ # 9000784997: Do not log to command.log when sourcing .tbc files +#@ set prev_sh_source_logging [get_app_var sh_source_logging] +#@ set_app_var sh_source_logging 0 +#@ source $synopsys_root/auxx/syn/psyn/create_qor_snapshot.tbc +#@ source $synopsys_root/auxx/syn/psyn/report_qor_snapshot.tbc +#@ set_app_var sh_source_logging $prev_sh_source_logging +#@ +#@ source $synopsys_root/auxx/syn/psyn/mcmm_utils.tcl.e +#@ } +#@ +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] || [string match -nocase {*dc_shell*} $synopsys_program_name] || [string match -nocase {*de_shell*} $synopsys_program_name] } { +#@ source $synopsys_root/auxx/syn/psyn/write_timing_context.tcl.e; +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ source $synopsys_root/auxx/syn/psyn/write_scenarios.tbc; +#@ } +#@ } +#@ +#@ if { $synopsys_program_name == "de_shell" } { +#@ # 9000784997: Do not log to command.log when sourcing .tbc files +#@ set prev_sh_source_logging [get_app_var sh_source_logging] +#@ set_app_var sh_source_logging 0 +#@ source $synopsys_root/auxx/syn/psyn/create_qor_snapshot.tbc +#@ source $synopsys_root/auxx/syn/psyn/report_qor_snapshot.tbc +#@ set_app_var sh_source_logging $prev_sh_source_logging +#@ +#@ source $synopsys_root/auxx/syn/psyn/mcmm_utils.tcl.e +#@ } +#@ +#@ ############################################################################## +#@ # ICC setup and hiding commands/procs etc +#@ ############################################################################## +#@ +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ #set save_mw_cel_lib_setup TRUE +#@ #set auto_restore_mw_cel_lib_setup FALSE +#@ +#@ alias create_wiring_keepout create_wiring_keepouts +#@ alias get_wiring_keepout get_wiring_keepouts +#@ alias get_placement_keepout get_placement_keepouts +#@ alias create_placement_keepout create_placement_keepouts +#@ +#@ icc_hide_cmd execute_command_and_create_cel_from_scratch +#@ icc_hide_cmd dc_read_def +#@ icc_hide_cmd read_edif +#@ icc_hide_cmd read_sverilog +#@ icc_hide_cmd read_vhdl +#@ icc_hide_cmd set_collection_mode +#@ icc_hide_cmd return_dc_collection +#@ icc_hide_cmd return_mw_collection +#@ set mw_use_pdb_lib_format true +#@ } +#@ +#@ +#@ ############################################################################## +#@ # Tcl Command: get_dont_touch_nets +#@ # Description: wrapper of "get_nets -filter dont_touch_reason==mv" +#@ ############################################################################## +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ +#@ proc get_dont_touch_nets args { +#@ +#@ parse_proc_arguments -args $args ra +#@ +#@ set cmd [format {get_nets}] +#@ +#@ if {[info exists ra()]} { +#@ set cmd [format {%s {%s}} $cmd $ra()] +#@ } +#@ if {[info exists ra(-type)]} { +#@ set cmd [format {%s -filter dont_touch_reasons=~*%s*} $cmd $ra(-type)] +#@ } +#@ if {[info exists ra(-hierarchical)]} { +#@ set cmd [format {%s -hierarchical} $cmd] +#@ } +#@ if {[info exists ra(-quiet)]} { +#@ set cmd [format {%s -quiet} $cmd] +#@ } +#@ if {[info exists ra(-regexp)]} { +#@ set cmd [format {%s -regexp} $cmd] +#@ } +#@ if {[info exists ra(-nocase)]} { +#@ set cmd [format {%s -nocase} $cmd] +#@ } +#@ if {[info exists ra(-exact)]} { +#@ set cmd [format {%s -exact} $cmd] +#@ } +#@ +#@ return [uplevel #0 $cmd] +#@ } +#@ +#@ define_proc_attributes get_dont_touch_nets -info " Get dont_touch nets " -permanent -define_args { {"" "Match net names against patterns" "patterns" list {optional}} {-type "Match net dont_touch reasons" "reasons" list {required}} {-hierarchical "Search level-by-level in current instance" "" boolean {optional}} {-quiet "Suppress all messages" "" boolean {optional hidden}} {-regexp "Patterns are full regular expressions" "" boolean {optional hidden}} {-nocase "With -regexp, matches are case-insensitive" "" boolean {optional hidden}} {-exact "Wildcards are considered as plain characters" "" boolean {optional hidden}} } +#@ +#@ alias get_dont_touch_net get_dont_touch_nets +#@ } +#@ +#@ +#@ ############################################################################## +#@ # return the first {index value} pair in Tcl array ary. +#@ ############################################################################## +#@ proc _snps_array_peek { level ary } { +#@ upvar #$level $ary loc_ary +#@ set ret [list] +#@ if {[catch {set token [array startsearch loc_ary]}]} { +#@ return $ret +#@ } +#@ while {[array anymore loc_ary $token]} { +#@ set k [array nextelement loc_ary $token] +#@ set v $loc_ary($k) +#@ set ret [list $k $v] +#@ break +#@ } +#@ array donesearch loc_ary $token +#@ return $ret; +#@ } +#@ define_proc_attributes _snps_array_peek -hidden +#@ +#@ +#@ ############################################################################## +#@ # Tcl Command: filter_collection +#@ # Description: DC wrapper for filter_collection with fixes of direction filter +#@ # +#@ # This is a fix for DC's filter using "direction" attribute. This +#@ # attribute is of integer type, but user wants a string format +#@ ############################################################################## +#@ if {[string match -nocase {*icc_shell*} $synopsys_program_name] == 0} { +#@ rename -force -hidden filter_collection _real_filter_collection +#@ proc filter_collection {args} { +#@ parse_proc_arguments -args $args ra +#@ +#@ set regexp "" +#@ set nocase "" +#@ if {[info exist ra(-regexp)]} { +#@ set regexp "-regexp" +#@ } +#@ if {[info exist ra(-nocase)]} { +#@ set nocase "-nocase" +#@ } +#@ set coll $ra(collection1) +#@ +#@ # _real_filter_collection silently returns in this error condition +#@ if {[catch {set coll_size [sizeof_collection $coll]}] || $coll_size <= 0} { +#@ return [list] +#@ } +#@ +#@ if {$::sh_translate_direction_attribute == true} { +#@ set filter_expr [replace_direction $coll $ra(expression)] +#@ } else { +#@ set filter_expr $ra(expression) +#@ } +#@ +#@ # if $ra(expression) is not empty but filter_expr is, collection is heterogrnous +#@ # and expression has "direction" as substring. We have to walk through all objects +#@ if {[string length $filter_expr] == 0 && [string length $ra(expression)] != 0} { +#@ set part1 [format {_real_filter_collection %s %s } $regexp $nocase] +#@ set results "" +#@ set subclxn "" +#@ set subsize [expr [sizeof_collection $coll]/80 + 10] +#@ set counter 0 +#@ foreach_in_collection obj $coll { +#@ incr counter +#@ set cmd [format {%s %s {%s}} $part1 $obj [replace_direction $obj $ra(expression)]] +#@ append_to_collection subclxn [uplevel #0 $cmd] +#@ if {[expr $counter % $subsize] == 0} { +#@ append_to_collection results $subclxn +#@ set subclxn "" +#@ } +#@ } +#@ if {[sizeof_collection $subclxn] != 0} { +#@ append_to_collection results $subclxn +#@ } +#@ return $results +#@ } else { +#@ set cmd [format {_real_filter_collection %s %s %s {%s}} $regexp $nocase $coll $filter_expr] +#@ return [uplevel #0 $cmd] +#@ } +#@ } +#@ define_proc_attributes filter_collection -info " Filter a collection, resulting in new collection " -permanent -define_args { {-regexp "Operators =~ and !~ use regular expressions" "" boolean {optional}} {-nocase "Case insensitive string match" "" boolean {optional}} {collection1 "Collection to filter" "collection1" string {required}} {expression "Filter expression" "expression" string {required}} } +#@ +#@ } +#@ +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/.dc_procs.tcl + +#@ +#@ # Temporary fix for the LMC_HOME variable- set it to an empty string +#@ +#@ if { [catch {getenv LMC_HOME } __err ] != 0 } { +#@ setenv LMC_HOME "" +#@ } +#@ +#@ +#@ # +#@ # +#@ # Site-Specific Variables +#@ # +#@ # These are the variables that are most commonly changed at a +#@ # specific site, either upon installation of the Synopsys software, +#@ # or by specific engineers in their local .synopsys files. +#@ # +#@ # +#@ +#@ # from the System Variable Group +#@ set link_library { * your_library.db } +#@ +#@ set search_path [list . ${synopsys_root}/libraries/syn ${synopsys_root}/minpower/syn ${synopsys_root}/dw/syn_ver ${synopsys_root}/dw/sim_ver] +#@ set target_library your_library.db +#@ set synthetic_library "" +#@ set command_log_file "./command.log" +#@ set designer "" +#@ set company "" +#@ set find_converts_name_lists "false" +#@ +#@ set symbol_library your_library.sdb +#@ +#@ # Turn on Formality SVF recording +#@ if { $synopsys_program_name == "dc_shell" || $synopsys_program_name == "de_shell" || $synopsys_program_name == "design_vision" } { +#@ set_svf -default default.svf +#@ } +#@ +#@ # from the Schematic Variable Group +#@ +#@ # from the Plot Variable Group +#@ # [froi] 07/06/2012: Remove old Design Analyzer plot_command variable +#@ #if { $sh_arch == "hp700" } { +#@ # set plot_command "lp -d" +#@ #} else { +#@ # set plot_command "lpr -Plw" +#@ #} +#@ +#@ set view_command_log_file "./view_command.log" +#@ +#@ # from the View Variable group +#@ if { $sh_arch == "hp700" } { +#@ set text_print_command "lp -d" +#@ } else { +#@ set text_print_command "lpr -Plw" +#@ } +#@ # +#@ # System Variable Group: +#@ # +#@ # These variables are system-wide variables. +#@ # +#@ set arch_init_path ${synopsys_root}/${sh_arch}/motif/syn/uid +#@ set auto_link_disable "false" +#@ set auto_link_options "-all" +#@ set uniquify_naming_style "%s_%d" +#@ set verbose_messages "true" +#@ set echo_include_commands "true" +#@ set svf_file_records_change_names_changes "true" +#@ set change_names_update_inst_tree "true" +#@ set change_names_dont_change_bus_members false +#@ set default_name_rules "" +#@ #set tdrc_enable_clock_table_creation "true" +#@ +#@ # +#@ # Compile Variable Group: +#@ # +#@ # These variables affect the designs created by the COMPILE command. +#@ # +#@ set compile_assume_fully_decoded_three_state_busses "false" +#@ set compile_no_new_cells_at_top_level "false" +#@ set compile_dont_touch_annotated_cell_during_inplace_opt "false" +#@ set compile_update_annotated_delays_during_inplace_opt "true" +#@ set compile_instance_name_prefix "U" +#@ set compile_instance_name_suffix "" +#@ set compile_negative_logic_methodology "false" +#@ set compile_disable_hierarchical_inverter_opt "false" +#@ set compile_use_low_timing_effort "false" +#@ set compile_fix_cell_degradation "false" +#@ set compile_preserve_subdesign_interfaces "false" +#@ set compile_enable_constant_propagation_with_no_boundary_opt "true" +#@ set port_complement_naming_style "%s_BAR" +#@ set compile_implementation_selection "true" +#@ set compile_delete_unloaded_sequential_cells "true" +#@ set reoptimize_design_changed_list_file_name "" +#@ set compile_checkpoint_phases "false" +#@ set compile_cpu_limit 0.0 +#@ set compile_log_format " %elap_time %area %wns %tns %drc %endpoint"; +#@ set compile_top_all_paths "false" +#@ set compile_top_acs_partition "false" +#@ set default_port_connection_class "universal" +#@ set compile_hold_reduce_cell_count "false" +#@ set compile_retime_license_behavior "wait" +#@ set dont_touch_nets_with_size_only_cells "false" +#@ if { $synopsys_program_name == "dc_shell" && [shell_is_in_topographical_mode] } { +#@ set dct_prioritize_area_correlation "false" +#@ set compile_error_on_missing_physical_cells "false" +#@ } +#@ +#@ set ldd_return_val 0 +#@ if { [string compare $dc_shell_mode "default"] == 0 } { +#@ set ldd_script ${synopsys_root}/auxx/syn/scripts/list_duplicate_designs.dcsh +#@ alias list_duplicate_designs "include -quiet ldd_script; dc_shell_status = ldd_return_val " +#@ +#@ } +#@ if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ if {$synopsys_program_name != "dc_sms_shell"} { +#@ source ${synopsys_root}/auxx/syn/scripts/list_duplicate_designs.tcl +#@ # 9000784997: Do not log to command.log when sourcing .tbc files +#@ set prev_sh_source_logging [get_app_var sh_source_logging] +#@ set_app_var sh_source_logging 0 +#@ source ${synopsys_root}/auxx/syn/scripts/analyze_datapath.tbc +#@ set_app_var sh_source_logging $prev_sh_source_logging +#@ } +#@ } +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/scripts/list_duplicate_designs.tcl + +#@ ####################################################################### +#@ # +#@ # list_duplicate_designs.tcl 21 Sept. 2006 +#@ # +#@ # List designs in dc_shell memory that have the same design name +#@ # +#@ # COPYRIGHT (C) 2006, SYNOPSYS INC., ALL RIGHTS RESERVED. +#@ # +#@ ####################################################################### +#@ +#@ proc list_duplicate_designs { args } { +#@ parse_proc_arguments -args $args ra +#@ +#@ # Get the list of duplicate designs +#@ set the_pid [pid] +#@ set rand_1 [expr int(rand() * 100000)] +#@ set temp_file_1 [format "/tmp/ldd_design_%s_%s" $the_pid $rand_1] +#@ +#@ redirect $temp_file_1 { foreach_in_collection ldd_design [find design "*"] { +#@ echo [get_object_name $ldd_design] +#@ } } +#@ +#@ set rand_2 [expr int(rand() * 100000)] +#@ set temp_file_2 [format "/tmp/ldd_design_%s_%s" $the_pid $rand_2] +#@ +#@ sh sort $temp_file_1 | uniq -d | tee $temp_file_2 +#@ file delete $temp_file_1 +#@ +#@ # Report duplicates +#@ if { ! [file size $temp_file_2] } { +#@ echo [concat {No duplicate designs found.}] +#@ set ldd_return_val 0 +#@ } else { +#@ set rand_3 [expr int(rand() * 100000)] +#@ set temp_file_3 [format "/tmp/ldd_design_%s_%s" $the_pid $rand_3] +#@ echo {Warning: Multiple designs in memory with the same design name.} +#@ echo {} +#@ echo { Design File Path} +#@ echo { ------ ---- ----} +#@ list_designs -table > $temp_file_3 +#@ echo [sh fgrep -f $temp_file_2 $temp_file_3 | sort | grep -v 'Design.*File.*Path'] +#@ file delete $temp_file_3 +#@ set ldd_return_val 1 +#@ } +#@ +#@ # Clean up +#@ file delete $temp_file_2 +#@ +#@ set list_duplicate_designs1 $ldd_return_val +#@ } +#@ +#@ define_proc_attributes list_duplicate_designs -info " List designs of same names" -permanent -define_args { +#@ } +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/scripts/list_duplicate_designs.tcl + +#@ +#@ +#@ set compile_log_format " %elap_time %area %wns %tns %drc %endpoint"; +#@ +#@ set compile_top_all_paths "false" +#@ alias compile_inplace_changed_list_file_name reoptimize_design_changed_list_file_name +#@ +#@ # +#@ # These variables affects compile, report_timing and report_constraints +#@ # commands. +#@ # +#@ set enable_recovery_removal_arcs "false" +#@ set timing_report_attributes {dont_touch dont_use map_only size_only ideal_net infeasible_paths} +#@ +#@ # +#@ # Multibit Variable Group: +#@ # +#@ # These variables affect the multibit mapping functionality +#@ # +#@ +#@ set bus_multiple_separator_style "," +#@ set bus_multiple_name_separator_style ",," +#@ +#@ # +#@ # ILM Variable Group: +#@ # +#@ # These variables affect Interface Logic Model functionality +#@ # +#@ +#@ set ilm_ignore_percentage 25 +#@ +#@ # +#@ # Estimator Variable Group: +#@ # +#@ # These variables affect the designs created by the ESTIMATE command. +#@ # +#@ set estimate_resource_preference "fast" +#@ alias est_resource_preference estimate_resource_preference +#@ set lbo_lfo_enable_at_pin_count 3 +#@ set lbo_cells_in_regions "false" +#@ +#@ # Synthetic Library Group: +#@ # +#@ # These variable affect synthetic library processing. +#@ # +#@ set cache_dir_chmod_octal "777" +#@ set cache_file_chmod_octal "666" +#@ set cache_read "~" +#@ set cache_read_info "false" +#@ set cache_write "~" +#@ set cache_write_info "false" +#@ set synlib_dont_get_license {} +#@ set synlib_library_list {DW01 DW02 DW03 DW04 DW05 DW06 DW07} +#@ set synlib_wait_for_design_license {} +#@ set synlib_dwhomeip {} +#@ +#@ # +#@ # Insert_DFT Variable Group: +#@ # +#@ #set test_default_client_order [list] +#@ set insert_dft_clean_up "true" +#@ set insert_test_design_naming_style "%s_test_%d" +#@ # /*insert_test_scan_chain_only_one_clock = "false" +#@ # Replace by command line option (star 17215) -- Denis Martin 28-Jan-93*/ +#@ set test_clock_port_naming_style "test_c%s" +#@ set test_scan_clock_a_port_naming_style "test_sca%s" +#@ set test_scan_clock_b_port_naming_style "test_scb%s" +#@ set test_scan_clock_port_naming_style "test_sc%s" +#@ set test_scan_enable_inverted_port_naming_style "test_sei%s" +#@ set test_scan_enable_port_naming_style "test_se%s" +#@ set test_scan_in_port_naming_style "test_si%s%s" +#@ set test_scan_out_port_naming_style "test_so%s%s" +#@ set test_non_scan_clock_port_naming_style "test_nsc_%s" +#@ set test_default_min_fault_coverage 95 +#@ set test_dedicated_subdesign_scan_outs "false" +#@ set test_disable_find_best_scan_out "false" +#@ set test_dont_fix_constraint_violations "false" +#@ set test_isolate_hier_scan_out 0 +#@ set test_mode_port_naming_style "test_mode%s" +#@ set test_mode_port_inverted_naming_style "test_mode_i%s" +#@ set compile_dont_use_dedicated_scanout 1 +#@ set test_mux_constant_si "false" +#@ +#@ # +#@ # Analyze_Scan Variable Group: +#@ # +#@ # These variables affect the designs created by the PREVIEW_SCAN command. +#@ # +#@ set test_preview_scan_shows_cell_types "false" +#@ set test_scan_link_so_lockup_key "l" +#@ set test_scan_link_wire_key "w" +#@ set test_scan_segment_key "s" +#@ set test_scan_true_key "t" +#@ +#@ # +#@ # bsd Variable Group: +#@ +#@ # These variables affect the report generated by the check_bsd command +#@ # and the BSDLout generated by the write_bsdl command. +#@ # +#@ set test_user_test_data_register_naming_style "UTDR%d" +#@ +#@ set test_user_defined_instruction_naming_style "USER%d" +#@ +#@ set test_bsdl_default_suffix_name "bsdl" +#@ +#@ set test_bsdl_max_line_length 80 +#@ +#@ set test_cc_ir_masked_bits 0 +#@ +#@ set test_cc_ir_value_of_masked_bits 0 +#@ +#@ set test_bsd_allow_tolerable_violations "false" +#@ set test_bsd_optimize_control_cell "false" +#@ set test_bsd_control_cell_drive_limit 0 +#@ set test_bsd_manufacturer_id 0 +#@ set test_bsd_part_number 0 +#@ set test_bsd_version_number 0 +#@ set bsd_max_in_switching_limit 60000 +#@ set bsd_max_out_switching_limit 60000 +#@ +#@ # +#@ # TestManager Variable Group: +#@ # +#@ # These variables affect the TestManager methodology. +#@ # +#@ set multi_pass_test_generation "false" +#@ +#@ # +#@ # TestSim Variable Group: +#@ # +#@ # These variables affect the TestSim behavior. +#@ # +#@ # set testsim_print_stats_file "true" +#@ +#@ # Test DRC Variable Group: +#@ # +#@ # These variables affect the check_test command. +#@ # +#@ set test_capture_clock_skew "small_skew" +#@ set test_allow_clock_reconvergence "true" +#@ set test_check_port_changes_in_capture "true" +#@ set test_infer_slave_clock_pulse_after_capture "infer" +#@ +#@ # +#@ # Test Variable Group: +#@ # +#@ # These variables affect the rtldrc, check_test, write_test_protocol +#@ # and write_test command. +#@ # +#@ set test_default_delay 0.0 +#@ set test_default_bidir_delay 0.0 +#@ set test_default_strobe 40.0 +#@ set test_default_strobe_width 0.0 +#@ set test_default_period 100.0 +#@ set test_stil_max_line_length 72 +#@ +#@ #added for B-2008.09-place_opt-004 to disable this option in ICC +#@ +#@ if { $synopsys_program_name != "icc_shell"} { +#@ set test_write_four_cycle_stil_protocol "false" +#@ set test_protocol_add_cycle "true" +#@ set test_stil_multiclock_capture_procedures "false" +#@ set write_test_new_translation_engine "false" +#@ set test_default_scan_style "multiplexed_flip_flop" +#@ set test_jump_over_bufs_invs "true" +#@ set test_point_keep_hierarchy "false" +#@ set test_mux_constant_so "false" +#@ set test_use_test_models "false" +#@ set test_stil_netlist_format "db" +#@ group_variable test "test_protocol_add_cycle" +#@ group_variable test "test_write_four_cycle_stil_protocol" +#@ group_variable test "test_stil_multiclock_capture_procedures" +#@ group_variable test "test_default_scan_style" +#@ group_variable preview_scan "test_jump_over_bufs_invs" +#@ group_variable insert_dft "test_point_keep_hierarchy" +#@ group_variable insert_dft "test_mux_constant_so" +#@ group_variable test "test_stil_netlist_format" +#@ } +#@ set test_rtldrc_latch_check_style "default" +#@ set test_enable_capture_checks "true" +#@ set ctldb_use_old_prot_flow "false" +#@ set test_bsd_default_delay 0.0 +#@ set test_bsd_default_bidir_delay 0.0 +#@ set test_bsd_default_strobe 95.0 +#@ set test_bsd_default_strobe_width 0.0 +#@ +#@ # +#@ # Test Variable Group: +#@ # +#@ # These variables affects the set_scan_state command. +#@ # +#@ +#@ set compile_seqmap_identify_shift_registers_with_synchronous_logic_ascii false +#@ +#@ # +#@ # Write_Test Variable Group: +#@ # +#@ # These variables affect output of the WRITE_TEST command. +#@ # +#@ set write_test_input_dont_care_value "X" +#@ set write_test_vector_file_naming_style "%s_%d.%s" +#@ set write_test_scan_check_file_naming_style "%s_schk.%s" +#@ set write_test_pattern_set_naming_style "TC_Syn_%d" +#@ set write_test_max_cycles 0 +#@ set write_test_max_scan_patterns 0 +#@ # /*retain "tssi_ascii" (equivalent to "tds") for backward compatability */ +#@ set write_test_formats {synopsys tssi_ascii tds verilog vhdl wgl} +#@ set write_test_include_scan_cell_info "true" +#@ set write_test_round_timing_values "true" +#@ +#@ +#@ # +#@ # Schematic and EDIF and Hdl Variable Groups: +#@ # +#@ # These variables affect the schematics created by the +#@ # create_schematic command, define the behavior of the +#@ # DC system EDIF interface, and are for controlling hdl +#@ # reading. +#@ # +#@ set bus_dimension_separator_style {][} +#@ set bus_naming_style {%s[%d]} +#@ +#@ +#@ # +#@ # Schematic and EDIF Variable Groups: +#@ # +#@ # These variables affect the schematics created by the +#@ # create_schematic command and define the behavior of +#@ # the DC system EDIF interface. +#@ # +#@ set bus_range_separator_style ":" +#@ +#@ +#@ # +#@ # EDIF and Io Variable Groups: +#@ # +#@ # These variables define the behavior of the DC system EDIF interface and +#@ # define the behavior of the DC system interfaces, i.e. LSI, Mentor, TDL, SGE,# etc. +#@ +#@ set bus_inference_descending_sort "true" +#@ set bus_inference_style "" +#@ set write_name_nets_same_as_ports "false" +#@ # +#@ # Schematic Variable Group: +#@ # +#@ # These variables affect the schematics created by the +#@ # create_schematic command. +#@ # +#@ set font_library "1_25.font" +#@ set generic_symbol_library "generic.sdb" +#@ +#@ # +#@ # Io Variable Group: +#@ # +#@ # These variables define the behavior of the DC system +#@ # interfaces, i.e. LSI, Mentor, TDL, SGE, etc. +#@ # +#@ #set db2sge_output_directory "" +#@ #set db2sge_scale "2" +#@ #set db2sge_overwrite "true" +#@ #set db2sge_display_symbol_names "false" +#@ +#@ +#@ #set db2sge_display_pin_names "false" +#@ #set db2sge_display_instance_names "false" +#@ #set db2sge_use_bustaps "false" +#@ #set db2sge_use_compound_names "true" +#@ #set db2sge_bit_type "std_logic" +#@ #set db2sge_bit_vector_type "std_logic_vector" +#@ #set db2sge_one_name "'1'" +#@ #set db2sge_zero_name "'0'" +#@ #set db2sge_unknown_name "'X'" +#@ #set db2sge_target_xp "false" +#@ #set db2sge_tcf_package_file "synopsys_tcf.vhd" +#@ #set db2sge_use_lib_section "" +#@ #set db2sge_script "" +#@ #set db2sge_command "" +#@ +#@ # set equationout_and_sign "*" +#@ # set equationout_or_sign "+" +#@ # set equationout_postfix_negation "true" +#@ +#@ # # [wjchen] 2006/08/14: The following variables are obsoleted for DC simpilification. +#@ #set lsiin_net_name_prefix "NET_" +#@ #set lsiout_inverter_cell "" +#@ #set lsiout_upcase "true" +#@ +#@ #set mentor_bidirect_value "INOUT" +#@ #set mentor_do_path "" +#@ #set mentor_input_output_property_name "PINTYPE" +#@ #set mentor_input_value "IN" +#@ #set mentor_logic_one_value "1SF" +#@ #set mentor_logic_zero_one_property_name "INIT" +#@ #set mentor_logic_zero_value "0SF" +#@ #set mentor_output_value "OUT" +#@ #set mentor_primitive_property_name "PRIMITIVE" +#@ #set mentor_primitive_property_value "MODULE" +#@ #set mentor_reference_property_name "COMP" +#@ #set mentor_search_path "" +#@ #set mentor_write_symbols "true" +#@ +#@ ## [wjchen] 0606_simp +#@ #set pla_read_create_flip_flop "false" +#@ #set tdlout_upcase "true" +#@ +#@ # # [wjchen] 2006/08/14: The following4 variables are obsoleted for DC simpilification. +#@ # set xnfout_constraints_per_endpoint "50" +#@ # set xnfout_default_time_constraints true +#@ # set xnfout_clock_attribute_style "CLK_ONLY" +#@ # set xnfout_library_version "" +#@ +#@ # # [wjchen] 2006/08/11: The following 8 variables are obsoleted for DC simpilification. +#@ # set xnfin_family "4000" +#@ # set xnfin_ignore_pins "GTS GSR GR" +#@ # set xnfin_dff_reset_pin_name "RD" +#@ # set xnfin_dff_set_pin_name "SD" +#@ # set xnfin_dff_clock_enable_pin_name "CE" +#@ # set xnfin_dff_data_pin_name "D" +#@ # set xnfin_dff_clock_pin_name "C" +#@ # set xnfin_dff_q_pin_name "Q" +#@ # +#@ +#@ # +#@ # EDIF Variable Group: +#@ # +#@ # These variables define the behavior of the DC system +#@ # EDIF interface. +#@ # +#@ +#@ ##[wjchen] 2006/08/24 +#@ +#@ # set bus_extraction_style {%s[%d:%d]} +#@ +#@ ##[wjchen] 2006/08/24 +#@ #set edifin_autoconnect_offpageconnectors "false" +#@ #set edifin_autoconnect_ports "false" +#@ #set edifin_dc_script_flag "" +#@ #set edifin_delete_empty_cells "true" +#@ #set edifin_delete_ripper_cells "true" +#@ #set edifin_ground_net_name "" +#@ #set edifin_ground_net_property_name "" +#@ #set edifin_ground_net_property_value "" +#@ #set edifin_ground_port_name "" +#@ #set edifin_instance_property_name "" +#@ #set edifin_portinstance_disabled_property_name "" +#@ #set edifin_portinstance_disabled_property_value "" +#@ #set edifin_portinstance_property_name "" +#@ #set edifin_power_net_name "" +#@ #set edifin_power_net_property_name "" +#@ #set edifin_power_net_property_value "" +#@ #set edifin_power_port_name "" +#@ #set edifin_use_identifier_in_rename "false" +#@ #set edifin_view_identifier_property_name "" +#@ #set edifin_lib_logic_1_symbol "" +#@ #set edifin_lib_logic_0_symbol "" +#@ #set edifin_lib_in_port_symbol "" +#@ #set edifin_lib_out_port_symbol "" +#@ #set edifin_lib_inout_port_symbol "" +#@ #set edifin_lib_in_osc_symbol "" +#@ #set edifin_lib_out_osc_symbol "" +#@ #set edifin_lib_inout_osc_symbol "" +#@ #set edifin_lib_mentor_netcon_symbol "" +#@ #set edifin_lib_ripper_bits_property "" +#@ #set edifin_lib_ripper_bus_end "" +#@ #set edifin_lib_ripper_cell_name "" +#@ #set edifin_lib_ripper_view_name "" +#@ #set edifin_lib_route_grid 1024 +#@ #set edifin_lib_templates {} +#@ #set edifout_dc_script_flag "" +#@ #set edifout_design_name "Synopsys_edif" +#@ #set edifout_designs_library_name "DESIGNS" +#@ #set edifout_display_instance_names "false" +#@ #set edifout_display_net_names "false" +#@ #set edifout_external "true" +#@ #set edifout_external_graphic_view_name "Graphic_representation" +#@ #set edifout_external_netlist_view_name "Netlist_representation" +#@ #set edifout_external_schematic_view_name "Schematic_representation" +#@ #set edifout_ground_name "logic_0" +#@ #set edifout_ground_net_name "" +#@ #set edifout_ground_net_property_name "" +#@ #set edifout_ground_net_property_value "" +#@ #set edifout_ground_pin_name "logic_0_pin" +#@ #set edifout_ground_port_name "GND" +#@ #set edifout_instance_property_name "" +#@ #set edifout_instantiate_ports "false" +#@ #set edifout_library_graphic_view_name "Graphic_representation" +#@ #set edifout_library_netlist_view_name "Netlist_representation" +#@ #set edifout_library_schematic_view_name "Schematic_representation" +#@ #set edifout_merge_libraries "false" +#@ #set edifout_multidimension_arrays "false" +#@ #set edifout_name_oscs_different_from_ports "false" +#@ #set edifout_name_rippers_same_as_wires "false" +#@ #set edifout_netlist_only "false" +#@ #set edifout_no_array "false" +#@ #set edifout_numerical_array_members "false" +#@ #set edifout_pin_direction_in_value "" +#@ #set edifout_pin_direction_inout_value "" +#@ #set edifout_pin_direction_out_value "" +#@ #set edifout_pin_direction_property_name "" +#@ #set edifout_pin_name_property_name "" +#@ #set edifout_portinstance_disabled_property_name "" +#@ #set edifout_portinstance_disabled_property_value "" +#@ #set edifout_portinstance_property_name "" +#@ #set edifout_power_and_ground_representation "cell" +#@ #set edifout_power_name "logic_1" +#@ #set edifout_power_net_name "" +#@ #set edifout_power_net_property_name "" +#@ #set edifout_power_net_property_value "" +#@ #set edifout_power_pin_name "logic_1_pin" +#@ #set edifout_power_port_name "VDD" +#@ #set edifout_skip_port_implementations "false" +#@ #set edifout_target_system "" +#@ #set edifout_top_level_symbol "true" +#@ #set edifout_translate_origin "" +#@ #set edifout_unused_property_value "" +#@ #set edifout_write_attributes "false" +#@ #set edifout_write_constraints "false" +#@ #set edifout_write_properties_list {} +#@ #set read_name_mapping_nowarn_libraries {} +#@ #set write_name_mapping_nowarn_libraries {} +#@ +#@ # +#@ # Hdl and Vhdlio Variable Groups: +#@ # +#@ # These variables are for controlling hdl reading, writing, +#@ # and optimizing. +#@ # +#@ set hdlin_enable_upf_compatible_naming "FALSE" +#@ set hdlin_auto_save_templates "FALSE" +#@ set hdlin_generate_naming_style "%s_%d" +#@ set hdlin_enable_relative_placement "rb" +#@ set hdlin_mux_rp_limit "128x4" +#@ set hdlin_generate_separator_style "_" +#@ set hdlin_ignore_textio_constructs "TRUE" +#@ set hdlin_infer_function_local_latches "FALSE" +#@ set hdlin_keep_signal_name "all_driving" +#@ set hdlin_module_arch_name_splitting "FALSE" +#@ set hdlin_preserve_sequential "none" +#@ set hdlin_presto_net_name_prefix "N" +#@ set hdlin_presto_cell_name_prefix "C" +#@ set hdlin_strict_verilog_reader "FALSE" +#@ set hdlin_prohibit_nontri_multiple_drivers "TRUE" +#@ if { $synopsys_program_name == "de_shell" } { +#@ set hdlin_elab_errors_deep "TRUE" +#@ } else { +#@ set hdlin_elab_errors_deep "FALSE" +#@ } +#@ set hdlin_mux_size_min 2 +#@ set hdlin_subprogram_default_values "FALSE" +#@ set hdlin_field_naming_style "" +#@ set hdlin_upcase_names "FALSE" +#@ set hdlin_sv_union_member_naming "FALSE" +#@ set hdlin_vhdl_std 2008 +#@ set hdlin_vhdl93_concat "TRUE" +#@ set hdlin_vhdl_syntax_extensions "FALSE" +#@ set hdlin_analyze_verbose_mode 0 +#@ set hdlin_report_sequential_pruning "FALSE" +#@ set hdlin_vrlg_std 2005 +#@ set hdlin_sverilog_std 2012 +#@ set hdlin_while_loop_iterations 4096 +#@ set hdlin_reporting_level "basic" +#@ set hdlin_autoread_verilog_extensions ".v" +#@ set hdlin_autoread_sverilog_extensions ".sv .sverilog" +#@ set hdlin_autoread_vhdl_extensions ".vhd .vhdl" +#@ set hdlin_autoread_exclude_extensions "" +#@ +#@ set bus_minus_style "-%d" +#@ set hdlin_latch_always_async_set_reset FALSE +#@ set hdlin_ff_always_sync_set_reset FALSE +#@ set hdlin_ff_always_async_set_reset TRUE +#@ set hdlin_check_input_netlist FALSE +#@ set hdlin_check_no_latch FALSE +#@ set hdlin_mux_for_array_read_sparseness_limit 90 +#@ set hdlin_infer_mux "default" +#@ set hdlin_mux_oversize_ratio 100 +#@ set hdlin_mux_size_limit 32 +#@ set hdlin_mux_size_only 1 +#@ set hdlin_infer_multibit "default_none" +#@ set hdlin_enable_rtldrc_info "false" +#@ set hdlin_interface_port_ABI 3 +#@ set hdlin_shorten_long_module_name "false" +#@ set hdlin_module_name_limit 256 +#@ set hdlin_enable_assertions "FALSE" +#@ set hdlin_enable_configurations "FALSE" +#@ set hdlin_sv_blackbox_modules "" +#@ set hdlin_sv_tokens "FALSE" +#@ set hdlin_sv_packages "enable" +#@ set hdlin_verification_priority "FALSE" +#@ set hdlin_enable_elaborate_ref_linking "FALSE" +#@ set hdlin_enable_hier_naming "FALSE" +#@ set hdlin_vhdl_mixed_language_instantiation "FALSE" +#@ set hdl_preferred_license "" +#@ set hdl_keep_licenses "true" +#@ set hlo_resource_allocation "constraint_driven" +#@ set sdfout_top_instance_name "" +#@ set sdfout_time_scale 1.0 +#@ set sdfout_min_rise_net_delay 0. +#@ set sdfout_min_fall_net_delay 0. +#@ set sdfout_min_rise_cell_delay 0. +#@ set sdfout_min_fall_cell_delay 0. +#@ set sdfout_write_to_output "false" +#@ set sdfout_allow_non_positive_constraints "false" +#@ set sdfin_top_instance_name "" +#@ set sdfin_min_rise_net_delay 0. +#@ set sdfin_min_fall_net_delay 0. +#@ set sdfin_min_rise_cell_delay 0. +#@ set sdfin_min_fall_cell_delay 0. +#@ set sdfin_rise_net_delay_type "maximum" +#@ set sdfin_fall_net_delay_type "maximum" +#@ set sdfin_rise_cell_delay_type "maximum" +#@ set sdfin_fall_cell_delay_type "maximum" +#@ set site_info_file ${synopsys_root}/admin/license/site_info +#@ if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ alias site_info sh cat $site_info_file +#@ } else { +#@ alias site_info "sh cat site_info_file" +#@ } +#@ set template_naming_style "%s_%p" +#@ set template_parameter_style "%s%d" +#@ set template_separator_style "_" +#@ set verilogout_equation "false" +#@ set verilogout_ignore_case "false" +#@ set verilogout_no_tri "false" +#@ set verilogout_inout_is_in "false" +#@ set verilogout_single_bit "false" +#@ set verilogout_higher_designs_first "FALSE" +#@ # set verilogout_levelize "FALSE" +#@ set verilogout_include_files {} +#@ set verilogout_unconnected_prefix "SYNOPSYS_UNCONNECTED_" +#@ set verilogout_show_unconnected_pins "FALSE" +#@ set verilogout_no_negative_index "FALSE" +#@ #set enable_2003.03_verilog_reader TRUE +#@ # to have a net instead of 1'b0 and 1'b1 in inouts: +#@ set verilogout_indirect_inout_connection "FALSE" +#@ +#@ # set vhdlout_architecture_name "SYN_%a_%u" +#@ set vhdlout_bit_type "std_logic" +#@ # set vhdlout_bit_type_resolved "TRUE" +#@ set vhdlout_bit_vector_type "std_logic_vector" +#@ # set vhdlout_conversion_functions {} +#@ # set vhdlout_dont_write_types "FALSE" +#@ set vhdlout_equations "FALSE" +#@ set vhdlout_one_name "'1'" +#@ set vhdlout_package_naming_style "CONV_PACK_%d" +#@ set vhdlout_preserve_hierarchical_types "VECTOR" +#@ set vhdlout_separate_scan_in "FALSE" +#@ set vhdlout_single_bit "USER" +#@ set vhdlout_target_simulator "" +#@ set vhdlout_three_state_name "'Z'" +#@ set vhdlout_three_state_res_func "" +#@ # set vhdlout_time_scale 1.0 +#@ set vhdlout_top_configuration_arch_name "A" +#@ set vhdlout_top_configuration_entity_name "E" +#@ set vhdlout_top_configuration_name "CFG_TB_E" +#@ set vhdlout_unknown_name "'X'" +#@ set vhdlout_upcase "FALSE" +#@ set vhdlout_use_packages {IEEE.std_logic_1164} +#@ set vhdlout_wired_and_res_func "" +#@ set vhdlout_wired_or_res_func "" +#@ set vhdlout_write_architecture "TRUE" +#@ set vhdlout_write_components "TRUE" +#@ set vhdlout_write_entity "TRUE" +#@ set vhdlout_write_top_configuration "FALSE" +#@ # set vhdlout_synthesis_off "TRUE" +#@ set vhdlout_zero_name "'0'" +#@ #set vhdlout_levelize "FALSE" +#@ set vhdlout_dont_create_dummy_nets "FALSE" +#@ set vhdlout_follow_vector_direction "TRUE" +#@ +#@ +#@ # vhdl netlist reader variables +#@ set enable_vhdl_netlist_reader "FALSE" +#@ +#@ # variables pertaining to VHDL library generation +#@ set vhdllib_timing_mesg "true" +#@ set vhdllib_timing_xgen "false" +#@ set vhdllib_timing_checks "true" +#@ set vhdllib_negative_constraint "false" +#@ set vhdllib_glitch_handle "true" +#@ set vhdllib_pulse_handle "use_vhdllib_glitch_handle" +#@ # /*vhdllib_architecture = {FTBM, UDSM, FTSM, FTGS, VITAL}; */ +#@ set vhdllib_architecture {VITAL} +#@ set vhdllib_tb_compare 0 +#@ set vhdllib_tb_x_eq_dontcare FALSE +#@ set vhdllib_logic_system "ieee-1164" +#@ set vhdllib_logical_name "" +#@ +#@ # variables pertaining to technology library processing +#@ set read_db_lib_warnings FALSE +#@ set read_translate_msff TRUE +#@ set libgen_max_differences -1 +#@ +#@ # +#@ # Gui Variable Group +#@ # used for design_vision and psyn_gui +#@ # +#@ set gui_auto_start 0 +#@ set gui_start_option_no_windows 0 +#@ group_variable gui_variables "gui_auto_start" +#@ group_variable gui_variables "gui_start_option_no_windows" +#@ +#@ # +#@ # If you like emacs, uncomment the next line +#@ # set text_editor_command "emacs -fn 8x13 %s &" ; +#@ +#@ # You can delete pairs from this list, but you can't add new ones +#@ # unless you also update the UIL files. So, customers can not add +#@ # dialogs to this list, only Synopsys can do that. +#@ # +#@ set view_independent_dialogs { "test_report" " Test Reports " "report_print" " Report " "report_options" " Report Options " "report_win" " Report Output " "manual_page" " Manual Page " } +#@ +#@ # if color Silicon Graphics workstation +#@ if { [info exists x11_vendor_string] && [info exists x11_is_color]} { +#@ if { $x11_vendor_string == "Silicon" && $x11_is_color == "true" } { +#@ set x11_set_cursor_foreground "magenta" +#@ set view_use_small_cursor "true" +#@ set view_set_selecting_color "white" +#@ } +#@ } +#@ +#@ # if running on an Apollo machine +#@ set found_x11_vendor_string_apollo 0 +#@ set found_arch_apollo 0 +#@ if { [info exists x11_vendor_string]} { +#@ if { $x11_vendor_string == "Apollo "} { +#@ set found_x11_vendor_string_apollo 1 +#@ } +#@ } +#@ if { [info exists arch]} { +#@ if { $arch == "apollo"} { +#@ set found_arch_apollo 1 +#@ } +#@ } +#@ if { $found_x11_vendor_string_apollo == 1 || $found_arch_apollo == 1} { +#@ set enable_page_mode "false" +#@ } else { +#@ set enable_page_mode "true" +#@ } +#@ +#@ # don't work around this bug on the Apollo +#@ if { $found_x11_vendor_string_apollo == 1} { +#@ set view_extend_thick_lines "false" +#@ } else { +#@ set view_extend_thick_lines "true" +#@ } +#@ +#@ # +#@ # Suffix Variable Group: +#@ # +#@ # Suffixes recognized by the Design Analyzer menu in file choices +#@ # +#@ if { $synopsys_program_name == "design_vision" || $synopsys_program_name == "psyn_gui" } { +#@ # For star 93040 do NOT include NET in list, 108991 : pdb suffix added +#@ set view_read_file_suffix {db gdb sdb pdb edif eqn fnc lsi mif pla st tdl v vhd vhdl xnf} +#@ } else { +#@ set view_read_file_suffix {db gdb sdb edif eqn fnc lsi mif NET pla st tdl v vhd vhdl xnf} +#@ } +#@ +#@ set view_analyze_file_suffix {v vhd vhdl} +#@ set view_write_file_suffix {gdb db sdb do edif eqn fnc lsi NET neted pla st tdl v vhd vhdl xnf} +#@ set view_execute_script_suffix {.script .scr .dcs .dcv .dc .con} +#@ set view_arch_types {sparcOS5 hpux10 rs6000 sgimips} +#@ +#@ # +#@ # links_to_layout Variable Group: +#@ # +#@ # These variables affect the read_timing, write_timing +#@ # set_annotated_delay, compile, create_wire_load and reoptimize_design +#@ # commands. +#@ # +#@ if {$synopsys_program_name != "dc_sms_shell"} { +#@ set auto_wire_load_selection "true" +#@ set compile_create_wire_load_table "false" +#@ } +#@ set rtl_load_resistance_factor 0.0 +#@ +#@ # power Variable Group: +#@ # +#@ # These variables affect the behavior of power optimization and analysis. +#@ # +#@ +#@ set power_keep_license_after_power_commands "false" +#@ set power_rtl_saif_file "power_rtl.saif" +#@ set power_sdpd_saif_file "power_sdpd.saif" +#@ set power_preserve_rtl_hier_names "false" +#@ set power_do_not_size_icg_cells "true" +#@ set power_hdlc_do_not_split_cg_cells "false" +#@ set power_cg_flatten "false" +#@ set power_opto_extra_high_dynamic_power_effort "false" +#@ set power_default_static_probability 0.5 +#@ set power_default_toggle_rate 0.1 +#@ set power_default_toggle_rate_type "fastest_clock" +#@ set power_model_preference "nlpm" +#@ set power_sa_propagation_effort "low" +#@ set power_sa_propagation_verbose "false" +#@ set power_fix_sdpd_annotation "true" +#@ set power_fix_sdpd_annotation_verbose "false" +#@ set power_sdpd_message_tolerance 0.00001 +#@ set do_operand_isolation "false" +#@ set power_cg_module_naming_style "" +#@ set power_cg_cell_naming_style "" +#@ set power_cg_gated_clock_net_naming_style "" +#@ set power_rclock_use_asynch_inputs "false" +#@ set power_rclock_inputs_use_clocks_fanout "true" +#@ set power_rclock_unrelated_use_fastest "true" +#@ set power_lib2saif_rise_fall_pd "false" +#@ set power_min_internal_power_threshold "" +#@ +#@ +#@ # SystemC related variables +#@ set systemcout_levelize "true" +#@ set systemcout_debug_mode "false" +#@ +#@ # ACS Variables +#@ if { [info exists acs_work_dir] } { +#@ set acs_area_report_suffix "area" +#@ set acs_autopart_max_area "0.0" +#@ set acs_autopart_max_percent "0.0" +#@ set acs_budgeted_cstr_suffix "con" +#@ set acs_compile_script_suffix "autoscr" +#@ set acs_constraint_file_suffix "con" +#@ set acs_cstr_report_suffix "cstr" +#@ set acs_db_suffix "db" +#@ set acs_dc_exec "" +#@ set acs_default_pass_name "pass" +#@ set acs_exclude_extensions {} +#@ set acs_exclude_list [list $synopsys_root] +#@ set acs_global_user_compile_strategy_script "default" +#@ set acs_hdl_verilog_define_list {} +#@ set acs_hdl_source {} +#@ set acs_lic_wait 0 +#@ set acs_log_file_suffix "log" +#@ set acs_make_args "set acs_make_args" +#@ set acs_make_exec "gmake" +#@ set acs_makefile_name "Makefile" +#@ set acs_num_parallel_jobs 1 +#@ set acs_override_report_suffix "report" +#@ set acs_override_script_suffix "scr" +#@ set acs_qor_report_suffix "qor" +#@ set acs_timing_report_suffix "tim" +#@ set acs_use_autopartition "false" +#@ set acs_use_default_delays "false" +#@ set acs_user_budgeting_script "budget.scr" +#@ set acs_user_compile_strategy_script_suffix "compile" +#@ set acs_verilog_extensions {.v} +#@ set acs_vhdl_extensions {.vhd} +#@ set acs_work_dir [pwd] +#@ set check_error_list [list CMD-004 CMD-006 CMD-007 CMD-008 CMD-009 CMD-010 CMD-011 CMD-012 CMD-014 CMD-015 CMD-016 CMD-019 CMD-026 CMD-031 CMD-037 DB-1 DCSH-11 DES-001 ACS-193 FILE-1 FILE-2 FILE-3 FILE-4 LINK-7 LINT-7 LINT-20 LNK-023 OPT-100 OPT-101 OPT-102 OPT-114 OPT-124 OPT-127 OPT-128 OPT-155 OPT-157 OPT-181 OPT-462 UI-11 UI-14 UI-15 UI-16 UI-17 UI-19 UI-20 UI-21 UI-22 UI-23 UI-40 UI-41 UID-4 UID-6 UID-7 UID-8 UID-9 UID-13 UID-14 UID-15 UID-19 UID-20 UID-25 UID-27 UID-28 UID-29 UID-30 UID-32 UID-58 UID-87 UID-103 UID-109 UID-270 UID-272 UID-403 UID-440 UID-444 UIO-2 UIO-3 UIO-4 UIO-25 UIO-65 UIO-66 UIO-75 UIO-94 UIO-95 EQN-6 EQN-11 EQN-15 EQN-16 EQN-18 EQN-20 ] +#@ set ilm_preserve_core_constraints "false" +#@ } +#@ +#@ # +#@ # +#@ # DesignTime Variable Group +#@ # +#@ # The variables which affect the DesignTime timing engine +#@ # +#@ +#@ set case_analysis_log_file "" +#@ set case_analysis_sequential_propagate "false" +#@ set create_clock_no_input_delay "false" +#@ set disable_auto_time_borrow "false" +#@ set disable_case_analysis "false" +#@ set disable_conditional_mode_analysis "false" +#@ set disable_library_transition_degradation "false" +#@ set dont_bind_unused_pins_to_logic_constant "false" +#@ set enable_slew_degradation "true" +#@ set high_fanout_net_pin_capacitance 1.000000 +#@ set high_fanout_net_threshold 1000 +#@ set lib_thresholds_per_lib "true" +#@ set rc_adjust_rd_when_less_than_rnet "true" +#@ set rc_ceff_delay_min_diff_ps 0.250000 +#@ set rc_degrade_min_slew_when_rd_less_than_rnet "false" +#@ set rc_driver_model_max_error_pct 0.160000 +#@ set rc_filter_rd_less_than_rnet "true" +#@ set rc_input_threshold_pct_fall 50.000000 +#@ set rc_input_threshold_pct_rise 50.000000 +#@ set rc_output_threshold_pct_fall 50.000000 +#@ set rc_output_threshold_pct_rise 50.000000 +#@ set rc_rd_less_than_rnet_threshold 0.450000 +#@ set rc_slew_derate_from_library 1.000000 +#@ set rc_slew_lower_threshold_pct_fall 20.000000 +#@ set rc_slew_lower_threshold_pct_rise 20.000000 +#@ set rc_slew_upper_threshold_pct_fall 80.000000 +#@ set rc_slew_upper_threshold_pct_rise 80.000000 +#@ set timing_disable_cond_default_arcs "false" +#@ #timing_enable_multiple_clocks_per_reg is on by default +#@ #set timing_enable_multiple_clocks_per_reg "false" +#@ set timing_report_attributes {dont_touch dont_use map_only size_only ideal_net infeasible_paths} +#@ set timing_self_loops_no_skew "false" +#@ set when_analysis_permitted "true" +#@ set when_analysis_without_case_analysis "false" +#@ +#@ +#@ # +#@ # Variable Group Definitions: +#@ # +#@ # The group_variable() command groups variables for display +#@ # in the "File/Defaults" dialog and defines groups of variables +#@ # for the list() command. +#@ # +#@ +#@ set enable_instances_in_report_net "true" +#@ # Set report options env variables +#@ set view_report_interactive "true" +#@ set view_report_output2file "false" +#@ set view_report_append "true" +#@ +#@ if { $synopsys_program_name != "ptxr" } { +#@ +#@ group_variable report_variables "enable_instances_in_report_net" +#@ group_variable report_variables "view_report_interactive" +#@ group_variable report_variables "view_report_output2file" +#@ group_variable report_variables "view_report_append" +#@ +#@ # "links_to_layout" variables are used by multiple commands +#@ # auto_wire_load_selection is also in the "compile" variable group. +#@ group_variable links_to_layout "auto_wire_load_selection" +#@ +#@ # variables starting with "compile" are also in the compile variable group +#@ group_variable links_to_layout "compile_dont_touch_annotated_cell_during_inplace_opt" +#@ +#@ group_variable links_to_layout "compile_update_annotated_delays_during_inplace_opt" +#@ group_variable links_to_layout "compile_create_wire_load_table" +#@ +#@ group_variable links_to_layout "reoptimize_design_changed_list_file_name" +#@ group_variable links_to_layout "sdfout_allow_non_positive_constraints" +#@ +#@ } ;# $synopsys_program_name != "ptxr" +#@ +#@ # +#@ # to find the XErrorDB and XKeySymDB for X11 file +#@ set motif_files ${synopsys_root}/admin/setup +#@ # set filename for logging input file +#@ set filename_log_file "filenames.log" +#@ # whether to delete the filename log after the normal exits +#@ set exit_delete_filename_log_file "true" +#@ +#@ # executable to fire off RTLA/BCV +#@ set xterm_executable "xterm" +#@ +#@ if { $synopsys_program_name != "ptxr" } { +#@ +#@ # "system" variables are used by multiple commands +#@ group_variable system auto_link_disable +#@ group_variable system auto_link_options +#@ group_variable system command_log_file +#@ group_variable system company +#@ group_variable system compatibility_version +#@ +#@ if { [string compare $dc_shell_mode "default"] == 0 } { +#@ group_variable system "current_design" +#@ group_variable system "current_instance" +#@ group_variable system "dc_shell_status" +#@ } else { +#@ set current_design "" +#@ set current_instance "" +#@ group_variable system "current_design" +#@ group_variable system "current_instance" +#@ } +#@ +#@ group_variable system "designer" +#@ group_variable system "echo_include_commands" +#@ group_variable system "enable_page_mode" +#@ group_variable system "change_names_update_inst_tree" +#@ group_variable system "change_names_dont_change_bus_members" +#@ group_variable system "default_name_rules" +#@ group_variable system "verbose_messages" +#@ group_variable system "link_library" +#@ group_variable system "link_force_case" +#@ group_variable system "search_path" +#@ group_variable system "synthetic_library" +#@ group_variable system "target_library" +#@ group_variable system "uniquify_naming_style" +#@ group_variable system "suppress_errors" +#@ group_variable system "find_converts_name_lists" +#@ group_variable system "filename_log_file" +#@ group_variable system "exit_delete_filename_log_file" +#@ group_variable system "syntax_check_status" +#@ group_variable system "context_check_status" +#@ +#@ #/* "compile" variables are used by the compile command */ +#@ group_variable compile "compile_assume_fully_decoded_three_state_busses" +#@ group_variable compile "compile_no_new_cells_at_top_level" +#@ group_variable compile "compile_dont_touch_annotated_cell_during_inplace_opt" +#@ group_variable compile "reoptimize_design_changed_list_file_name" +#@ group_variable compile "compile_create_wire_load_table" +#@ group_variable compile "compile_update_annotated_delays_during_inplace_opt" +#@ group_variable compile "compile_instance_name_prefix" +#@ group_variable compile "compile_instance_name_suffix" +#@ group_variable compile "compile_negative_logic_methodology" +#@ group_variable compile "compile_disable_hierarchical_inverter_opt" +#@ +#@ group_variable compile "port_complement_naming_style" +#@ group_variable compile "auto_wire_load_selection" +#@ group_variable compile "rtl_load_resistance_factor" +#@ group_variable compile "compile_implementation_selection" +#@ group_variable compile "compile_use_low_timing_effort" +#@ group_variable compile "compile_fix_cell_degradation" +#@ group_variable compile "compile_preserve_subdesign_interfaces" +#@ group_variable compile "compile_enable_constant_propagation_with_no_boundary_opt" +#@ group_variable compile "compile_delete_unloaded_sequential_cells" +#@ group_variable compile "enable_recovery_removal_arcs" +#@ group_variable compile "compile_checkpoint_phases" +#@ group_variable compile "compile_cpu_limit" +#@ group_variable compile "compile_top_all_paths" +#@ group_variable compile "compile_top_all_paths" +#@ group_variable compile "compile_top_acs_partition" +#@ group_variable compile "default_port_connection_class" +#@ group_variable compile "compile_retime_license_behavior" +#@ group_variable compile "dont_touch_nets_with_size_only_cells" +#@ group_variable compile "compile_seqmap_no_scan_cell" +#@ +#@ if { $synopsys_program_name == "dc_shell" && [shell_is_in_topographical_mode] } { +#@ group_variable compile "dct_prioritize_area_correlation" +#@ group_variable compile "compile_error_on_missing_physical_cells" +#@ } +#@ +#@ # "multibit" variables are used by the the multibit mapping functionality +#@ +#@ group_variable multibit "bus_multiple_separator_style" +#@ +#@ # "ilm" variables are used by Interface Logic Model functionality +#@ +#@ group_variable ilm "ilm_ignore_percentage" +#@ +#@ # "estimate" variables are used by the estimate command +#@ # The estimate command also recognizes the "compile" variables. +#@ group_variable estimate "estimate_resource_preference" +#@ +#@ # "synthetic_library" variables +#@ group_variable synlib "cache_dir_chmod_octal" +#@ group_variable synlib "cache_file_chmod_octal" +#@ group_variable synlib "cache_read" +#@ group_variable synlib "cache_read_info" +#@ group_variable synlib "cache_write" +#@ group_variable synlib "cache_write_info" +#@ group_variable synlib "synlib_dont_get_license" +#@ group_variable synlib "synlib_wait_for_design_license" +#@ group_variable synlib "synthetic_library" +#@ +#@ # "insert_dft" variables are used by the insert_dft and preview_dft commands +#@ #group_variable insert_dft "test_default_client_order" +#@ group_variable insert_dft "insert_dft_clean_up" +#@ group_variable insert_dft "insert_test_design_naming_style" +#@ group_variable insert_dft "test_clock_port_naming_style" +#@ group_variable insert_dft "test_default_min_fault_coverage" +#@ group_variable insert_dft "test_scan_clock_a_port_naming_style" +#@ group_variable insert_dft "test_scan_clock_b_port_naming_style" +#@ group_variable insert_dft "test_scan_clock_port_naming_style" +#@ group_variable insert_dft "test_scan_enable_inverted_port_naming_style" +#@ group_variable insert_dft "test_scan_enable_port_naming_style" +#@ group_variable insert_dft "test_scan_in_port_naming_style" +#@ group_variable insert_dft "test_scan_out_port_naming_style" +#@ group_variable insert_dft "test_non_scan_clock_port_naming_style" +#@ group_variable insert_dft "test_dedicated_subdesign_scan_outs" +#@ group_variable insert_dft "test_disable_find_best_scan_out" +#@ group_variable insert_dft "test_dont_fix_constraint_violations" +#@ group_variable insert_dft "test_isolate_hier_scan_out" +#@ group_variable insert_dft "test_mode_port_naming_style" +#@ group_variable insert_dft "test_mode_port_inverted_naming_style" +#@ group_variable insert_dft "compile_dont_use_dedicated_scanout" +#@ group_variable insert_dft "test_mux_constant_si" +#@ +#@ # "preview_scan" variables are used by the preview_scan command +#@ group_variable preview_scan "test_preview_scan_shows_cell_types" +#@ group_variable preview_scan "test_scan_link_so_lockup_key" +#@ group_variable preview_scan "test_scan_link_wire_key" +#@ group_variable preview_scan "test_scan_segment_key" +#@ group_variable preview_scan "test_scan_true_key" +#@ +#@ # "bsd" variables are used by the check_bsd and write_bsdl commands +#@ group_variable bsd "test_user_test_data_register_naming_style" +#@ group_variable bsd "test_user_defined_instruction_naming_style" +#@ group_variable bsd "test_bsdl_default_suffix_name" +#@ group_variable bsd "test_bsdl_max_line_length" +#@ group_variable bsd "test_cc_ir_masked_bits" +#@ group_variable bsd "test_cc_ir_value_of_masked_bits" +#@ +#@ group_variable bsd "test_bsd_allow_tolerable_violations" +#@ group_variable bsd "test_bsd_optimize_control_cell" +#@ group_variable bsd "test_bsd_control_cell_drive_limit" +#@ group_variable bsd "test_bsd_manufacturer_id" +#@ group_variable bsd "test_bsd_part_number" +#@ group_variable bsd "test_bsd_version_number" +#@ group_variable bsd "bsd_max_in_switching_limit" +#@ group_variable bsd "bsd_max_out_switching_limit" +#@ +#@ # testmanager variables +#@ group_variable testmanager "multi_pass_test_generation" +#@ +#@ # "testsim" variables +#@ # group_variable testsim "testsim_print_stats_file" +#@ +#@ # "test" variables +#@ group_variable test "test_default_bidir_delay" +#@ group_variable test "test_default_delay" +#@ group_variable test "test_default_period" +#@ group_variable test "test_default_strobe" +#@ group_variable test "test_default_strobe_width" +#@ group_variable test "test_capture_clock_skew" +#@ group_variable test "test_allow_clock_reconvergence" +#@ group_variable test "test_check_port_changes_in_capture" +#@ group_variable test "test_stil_max_line_length" +#@ group_variable test "test_infer_slave_clock_pulse_after_capture" +#@ group_variable test "test_rtldrc_latch_check_style" +#@ group_variable test "test_enable_capture_checks" +#@ +#@ # "write_test" variables are used by the write_test command +#@ group_variable write_test "write_test_formats" +#@ group_variable write_test "write_test_include_scan_cell_info" +#@ group_variable write_test "write_test_input_dont_care_value" +#@ group_variable write_test "write_test_max_cycles" +#@ group_variable write_test "write_test_max_scan_patterns" +#@ group_variable write_test "write_test_pattern_set_naming_style" +#@ group_variable write_test "write_test_scan_check_file_naming_style" +#@ group_variable write_test "write_test_vector_file_naming_style" +#@ group_variable write_test "write_test_round_timing_values" +#@ +#@ group_variable view "test_design_analyzer_uses_insert_scan" +#@ +#@ # "io" variables are used by the read, read_lib, db2sge and write commands +#@ group_variable io "bus_inference_descending_sort" +#@ group_variable io "bus_inference_style" +#@ #group_variable io "db2sge_output_directory" +#@ #group_variable io "db2sge_scale" +#@ #group_variable io "db2sge_overwrite" +#@ #group_variable io "db2sge_display_symbol_names" +#@ #group_variable io "db2sge_display_pin_names" +#@ #group_variable io "db2sge_display_instance_names" +#@ #group_variable io "db2sge_use_bustaps" +#@ #group_variable io "db2sge_use_compound_names" +#@ #group_variable io "db2sge_bit_type" +#@ #group_variable io "db2sge_bit_vector_type" +#@ #group_variable io "db2sge_one_name" +#@ #group_variable io "db2sge_zero_name" +#@ #group_variable io "db2sge_unknown_name" +#@ #group_variable io "db2sge_target_xp" +#@ #group_variable io "db2sge_tcf_package_file" +#@ #group_variable io "db2sge_use_lib_section" +#@ #group_variable io "db2sge_script" +#@ #group_variable io "db2sge_command" +#@ +#@ # group_variable io "equationout_and_sign" +#@ # group_variable io "equationout_or_sign" +#@ # group_variable io "equationout_postfix_negation" +#@ +#@ # group_variable io "lsiin_net_name_prefix" +#@ # group_variable io "lsiout_inverter_cell" +#@ # group_variable io "lsiout_upcase" +#@ +#@ #group_variable io "mentor_bidirect_value" +#@ #group_variable io "mentor_do_path" +#@ #group_variable io "mentor_input_output_property_name" +#@ #group_variable io "mentor_input_value" +#@ #group_variable io "mentor_logic_one_value" +#@ #group_variable io "mentor_logic_zero_one_property_name" +#@ #group_variable io "mentor_logic_zero_value" +#@ #group_variable io "mentor_output_value" +#@ #group_variable io "mentor_primitive_property_name" +#@ #group_variable io "mentor_primitive_property_value" +#@ #group_variable io "mentor_reference_property_name" +#@ #group_variable io "mentor_search_path" +#@ #group_variable io "mentor_write_symbols" +#@ # group_variable io "pla_read_create_flip_flop" +#@ # group_variable io "tdlout_upcase" +#@ group_variable io "write_name_nets_same_as_ports" +#@ +#@ # # [wjchen] 2006/08/14: The following 4 variables are obsoleted for DC simpilification. +#@ +#@ # group_variable io "xnfout_constraints_per_endpoint" +#@ # group_variable io "xnfout_default_time_constraints" +#@ # group_variable io "xnfout_clock_attribute_style" +#@ # group_variable io "xnfout_library_version" +#@ +#@ # # [wjchen] 2006/08/11: The following 8 variables are obsoleted for DC simpilification. +#@ # group_variable io "xnfin_family" +#@ # group_variable io "xnfin_ignore_pins" +#@ # group_variable io "xnfin_dff_reset_pin_name" +#@ # group_variable io "xnfin_dff_set_pin_name" +#@ # group_variable io "xnfin_dff_clock_enable_pin_name" +#@ # group_variable io "xnfin_dff_data_pin_name" +#@ # group_variable io "xnfin_dff_clock_pin_name" ; +#@ # group_variable io "xnfin_dff_q_pin_name"; +#@ +#@ group_variable io "sdfin_min_rise_net_delay" ; +#@ group_variable io "sdfin_min_fall_net_delay" ; +#@ group_variable io "sdfin_min_rise_cell_delay" ; +#@ group_variable io "sdfin_min_fall_cell_delay" ; +#@ group_variable io "sdfin_rise_net_delay_type" ; +#@ group_variable io "sdfin_fall_net_delay_type" ; +#@ group_variable io "sdfin_rise_cell_delay_type" ; +#@ group_variable io "sdfin_fall_cell_delay_type" ; +#@ group_variable io "sdfin_top_instance_name" ; +#@ group_variable io "sdfout_time_scale" ; +#@ group_variable io "sdfout_write_to_output" ; +#@ group_variable io "sdfout_top_instance_name" ; +#@ group_variable io "sdfout_min_rise_net_delay" ; +#@ group_variable io "sdfout_min_fall_net_delay" ; +#@ group_variable io "sdfout_min_rise_cell_delay" ; +#@ group_variable io "sdfout_min_fall_cell_delay" ; +#@ group_variable io "read_db_lib_warnings" ; +#@ group_variable io "read_translate_msff" ; +#@ group_variable io "libgen_max_differences" ; +#@ +#@ # #[wjchen] 2006/08/22: The following variables are hidden for XG mode for DC simpilification. +#@ # group_variable io "read_name_mapping_nowarn_libraries" ; +#@ # group_variable io "write_name_mapping_nowarn_libraries" ; +#@ +#@ +#@ # "edif" variables are used by the EDIF format read, read_lib, write, +#@ # and write_lib commands +#@ # group_variable edif "bus_dimension_separator_style" ; +#@ # group_variable edif "bus_extraction_style" ; +#@ group_variable edif "bus_inference_descending_sort" ; +#@ group_variable edif "bus_inference_style" ; +#@ group_variable edif "bus_naming_style" ; +#@ group_variable edif "bus_range_separator_style" ; +#@ # group_variable edif "edifin_autoconnect_offpageconnectors" ; +#@ # group_variable edif "edifin_autoconnect_ports" ; +#@ # group_variable edif "edifin_delete_empty_cells" ; +#@ # group_variable edif "edifin_delete_ripper_cells" ; +#@ # group_variable edif "edifin_ground_net_name" ; +#@ # group_variable edif "edifin_ground_net_property_name" ; +#@ # group_variable edif "edifin_ground_net_property_value" ; +#@ # group_variable edif "edifin_ground_port_name" ; +#@ # group_variable edif "edifin_instance_property_name" ; +#@ # group_variable edif "edifin_portinstance_disabled_property_name" ; +#@ # group_variable edif "edifin_portinstance_disabled_property_value" ; +#@ # group_variable edif "edifin_portinstance_property_name" ; +#@ # group_variable edif "edifin_power_net_name" ; +#@ # group_variable edif "edifin_power_net_property_name" ; +#@ # group_variable edif "edifin_power_net_property_value" ; +#@ # group_variable edif "edifin_power_port_name" ; +#@ # group_variable edif "edifin_use_identifier_in_rename" ; +#@ # group_variable edif "edifin_view_identifier_property_name" ; +#@ # group_variable edif "edifin_dc_script_flag" ; +#@ # group_variable edif "edifin_lib_logic_1_symbol" ; +#@ # group_variable edif "edifin_lib_logic_0_symbol" ; +#@ # group_variable edif "edifin_lib_in_port_symbol" ; +#@ # group_variable edif "edifin_lib_out_port_symbol" ; +#@ # group_variable edif "edifin_lib_inout_port_symbol" ; +#@ # group_variable edif "edifin_lib_in_osc_symbol" ; +#@ # group_variable edif "edifin_lib_out_osc_symbol" ; +#@ # group_variable edif "edifin_lib_inout_osc_symbol" ; +#@ # group_variable edif "edifin_lib_mentor_netcon_symbol" ; +#@ # group_variable edif "edifin_lib_ripper_bits_property" ; +#@ # group_variable edif "edifin_lib_ripper_bus_end" ; +#@ # group_variable edif "edifin_lib_ripper_cell_name" ; +#@ # group_variable edif "edifin_lib_ripper_view_name" ; +#@ # group_variable edif "edifin_lib_route_grid" ; +#@ # group_variable edif "edifin_lib_templates" ; +#@ # group_variable edif "edifout_dc_script_flag" ; +#@ # group_variable edif "edifout_design_name" ; +#@ # group_variable edif "edifout_designs_library_name" ; +#@ # group_variable edif "edifout_display_instance_names" ; +#@ # group_variable edif "edifout_display_net_names" ; +#@ # group_variable edif "edifout_external" ; +#@ # group_variable edif "edifout_external_graphic_view_name" ; +#@ # group_variable edif "edifout_external_netlist_view_name" ; +#@ # group_variable edif "edifout_external_schematic_view_name" ; +#@ # group_variable edif "edifout_ground_name" ; +#@ # group_variable edif "edifout_ground_net_name" ; +#@ # group_variable edif "edifout_ground_net_property_name" ; +#@ # group_variable edif "edifout_ground_net_property_value" ; +#@ # group_variable edif "edifout_ground_pin_name" ; +#@ # group_variable edif "edifout_ground_port_name" ; +#@ # group_variable edif "edifout_instance_property_name" ; +#@ # group_variable edif "edifout_instantiate_ports" ; +#@ # group_variable edif "edifout_library_graphic_view_name" ; +#@ # group_variable edif "edifout_library_netlist_view_name" ; +#@ # group_variable edif "edifout_library_schematic_view_name" ; +#@ # group_variable edif "edifout_merge_libraries" ; +#@ # group_variable edif "edifout_multidimension_arrays" ; +#@ # group_variable edif "edifout_name_oscs_different_from_ports" ; +#@ # group_variable edif "edifout_name_rippers_same_as_wires" ; +#@ # group_variable edif "edifout_netlist_only" ; +#@ # group_variable edif "edifout_no_array" ; +#@ # group_variable edif "edifout_numerical_array_members" ; +#@ # group_variable edif "edifout_pin_direction_property_name" ; +#@ # group_variable edif "edifout_pin_direction_in_value" ; +#@ # group_variable edif "edifout_pin_direction_inout_value" ; +#@ # group_variable edif "edifout_pin_direction_out_value" ; +#@ # group_variable edif "edifout_pin_name_property_name" ; +#@ # group_variable edif "edifout_portinstance_disabled_property_name" ; +#@ # group_variable edif "edifout_portinstance_disabled_property_value" ; +#@ # group_variable edif "edifout_portinstance_property_name" +#@ # group_variable edif "edifout_power_and_ground_representation" +#@ # group_variable edif "edifout_power_name" +#@ # group_variable edif "edifout_power_net_name" +#@ # group_variable edif "edifout_power_net_property_name" +#@ # group_variable edif "edifout_power_net_property_value" +#@ # group_variable edif "edifout_power_pin_name" +#@ # group_variable edif "edifout_power_port_name" +#@ # group_variable edif "edifout_skip_port_implementations" +#@ # group_variable edif "edifout_target_system" +#@ # group_variable edif "edifout_top_level_symbol" +#@ # group_variable edif "edifout_translate_origin" +#@ # group_variable edif "edifout_unused_property_value" +#@ # group_variable edif "edifout_write_attributes" +#@ # group_variable edif "edifout_write_constraints" +#@ # group_variable edif "edifout_write_properties_list" +#@ # group_variable edif "write_name_nets_same_as_ports" +#@ +#@ # "hdl" variables are variables pertaining to hdl reading and optimizing +#@ group_variable hdl "bus_dimension_separator_style" +#@ group_variable hdl "bus_minus_style" +#@ group_variable hdl "bus_naming_style" +#@ group_variable hdl "hdlin_ignore_textio_constructs" +#@ group_variable hdl "hdlin_latch_always_async_set_reset" +#@ group_variable hdl "hdlin_ff_always_sync_set_reset" +#@ group_variable hdl "hdlin_ff_always_async_set_reset" +#@ group_variable hdl "hdlin_check_input_netlist" +#@ group_variable hdl "hdlin_check_no_latch" +#@ group_variable hdl "hdlin_reporting_level" +#@ group_variable hdl "hdlin_infer_mux" +#@ group_variable hdl "hdlin_mux_oversize_ratio" +#@ group_variable hdl "hdlin_mux_size_limit" +#@ group_variable hdl "hdlin_infer_multibit" +#@ group_variable hdl "hdl_preferred_license" +#@ group_variable hdl "hdl_keep_licenses" +#@ group_variable hdl "hlo_resource_allocation" +#@ group_variable hdl "template_naming_style" +#@ group_variable hdl "template_parameter_style" +#@ group_variable hdl "template_separator_style" +#@ group_variable hdl "verilogout_equation" +#@ group_variable hdl "verilogout_ignore_case" +#@ group_variable hdl "verilogout_no_tri" +#@ group_variable hdl "verilogout_inout_is_in" +#@ group_variable hdl "verilogout_single_bit" +#@ group_variable hdl "verilogout_higher_designs_first" +#@ # group_variable hdl "verilogout_levelize" +#@ group_variable hdl "verilogout_include_files" +#@ group_variable hdl "verilogout_unconnected_prefix" +#@ group_variable hdl "verilogout_show_unconnected_pins" +#@ group_variable hdl "verilogout_no_negative_index" +#@ group_variable hdl "hdlin_enable_rtldrc_info" +#@ group_variable hdl "hdlin_sv_blackbox_modules" +#@ group_variable hdl "hdlin_infer_function_local_latches" +#@ group_variable hdl "hdlin_module_arch_name_splitting" +#@ group_variable hdl "hdlin_mux_size_min" +#@ group_variable hdl "hdlin_prohibit_nontri_multiple_drivers" +#@ group_variable hdl "hdlin_subprogram_default_values" +#@ group_variable hdl "hdlin_upcase_names" +#@ group_variable hdl "hdlin_vhdl_std" +#@ group_variable hdl "hdlin_vhdl93_concat" +#@ group_variable hdl "hdlin_vhdl_syntax_extensions" +#@ group_variable hdl "hdlin_vrlg_std" +#@ group_variable hdl "hdlin_while_loop_iterations" +#@ group_variable hdl "hdlin_auto_save_templates" +#@ group_variable hdl "hdlin_elab_errors_deep" +#@ group_variable hdl "hdlin_enable_assertions" +#@ group_variable hdl "hdlin_enable_configurations" +#@ group_variable hdl "hdlin_field_naming_style" +#@ group_variable hdl "hdlin_generate_naming_style" +#@ group_variable hdl "hdlin_generate_separator_style" +#@ group_variable hdl "hdlin_enable_relative_placement" +#@ group_variable hdl "hdlin_mux_rp_limit" +#@ group_variable hdl "hdlin_keep_signal_name" +#@ group_variable hdl "hdlin_module_name_limit" +#@ group_variable hdl "hdlin_mux_size_only" +#@ group_variable hdl "hdlin_preserve_sequential" +#@ group_variable hdl "hdlin_presto_cell_name_prefix" +#@ group_variable hdl "hdlin_presto_net_name_prefix" +#@ group_variable hdl "hdlin_strict_verilog_reader" +#@ group_variable hdl "hdlin_shorten_long_module_name" +#@ group_variable hdl "hdlin_sv_packages" +#@ group_variable hdl "hdlin_sv_tokens" +#@ group_variable hdl "hdlin_enable_elaborate_ref_linking" +#@ group_variable hdl "hdlin_enable_hier_naming" +#@ group_variable hdl "hdlin_autoread_verilog_extensions" +#@ group_variable hdl "hdlin_autoread_sverilog_extensions" +#@ group_variable hdl "hdlin_autoread_vhdl_extensions" +#@ group_variable hdl "hdlin_autoread_exclude_extensions" +#@ group_variable hdl "hdlin_enable_upf_compatible_naming" +#@ group_variable hdl "hdlin_report_sequential_pruning" +#@ group_variable hdl "hdlin_analyze_verbose_mode" +#@ +#@ # "vhdlio" variables are variables pertaining to VHDL generation +#@ group_variable vhdlio "vhdllib_timing_mesg" +#@ group_variable vhdlio "vhdllib_timing_xgen" +#@ group_variable vhdlio "vhdllib_timing_checks" +#@ group_variable vhdlio "vhdllib_negative_constraint" +#@ group_variable vhdlio "vhdllib_pulse_handle" +#@ group_variable vhdlio "vhdllib_glitch_handle" +#@ group_variable vhdlio "vhdllib_architecture" +#@ group_variable vhdlio "vhdllib_tb_compare" +#@ group_variable vhdlio "vhdllib_tb_x_eq_dontcare" +#@ group_variable vhdlio "vhdllib_logic_system" +#@ group_variable vhdlio "vhdllib_logical_name" +#@ +#@ # group_variable vhdlio "vhdlout_architecture_name" +#@ group_variable vhdlio "vhdlout_bit_type" +#@ # group_variable vhdlio "vhdlout_bit_type_resolved" +#@ group_variable vhdlio "vhdlout_bit_vector_type" +#@ # group_variable vhdlio "vhdlout_conversion_functions" +#@ # group_variable vhdlio "vhdlout_dont_write_types" +#@ group_variable vhdlio "vhdlout_equations" +#@ group_variable vhdlio "vhdlout_one_name" +#@ group_variable vhdlio "vhdlout_package_naming_style" +#@ group_variable vhdlio "vhdlout_preserve_hierarchical_types" +#@ group_variable vhdlio "vhdlout_separate_scan_in" +#@ group_variable vhdlio "vhdlout_single_bit" +#@ group_variable vhdlio "vhdlout_target_simulator" +#@ group_variable vhdlio "vhdlout_top_configuration_arch_name" +#@ group_variable vhdlio "vhdlout_top_configuration_entity_name" +#@ group_variable vhdlio "vhdlout_top_configuration_name" +#@ group_variable vhdlio "vhdlout_three_state_name" +#@ group_variable vhdlio "vhdlout_three_state_res_func" +#@ # group_variable vhdlio "vhdlout_time_scale" +#@ group_variable vhdlio "vhdlout_unknown_name" +#@ group_variable vhdlio "vhdlout_use_packages" +#@ group_variable vhdlio "vhdlout_wired_and_res_func" +#@ group_variable vhdlio "vhdlout_wired_or_res_func" +#@ group_variable vhdlio "vhdlout_write_architecture" +#@ group_variable vhdlio "vhdlout_write_entity" +#@ group_variable vhdlio "vhdlout_write_top_configuration" +#@ # group_variable vhdlio "vhdlout_synthesis_off" +#@ group_variable vhdlio "vhdlout_write_components" +#@ group_variable vhdlio "vhdlout_zero_name" +#@ # group_variable vhdlio "vhdlout_levelize" +#@ group_variable vhdlio "vhdlout_dont_create_dummy_nets" +#@ group_variable vhdlio "vhdlout_follow_vector_direction" +#@ +#@ # "suffix" variables are used to find the suffixes of different file types +#@ group_variable suffix "view_execute_script_suffix" +#@ group_variable suffix "view_read_file_suffix" +#@ group_variable suffix "view_analyze_file_suffix" +#@ group_variable suffix "view_write_file_suffix" +#@ +#@ # Meenakshi: Added new group scc (for SystemC compiler) +#@ group_variable scc {systemcout_levelize} +#@ group_variable scc {systemcout_debug_mode} +#@ +#@ # "power" variables are for power-analysis. +#@ group_variable power {power_keep_license_after_power_commands} +#@ group_variable power {power_preserve_rtl_hier_names} +#@ group_variable power {power_do_not_size_icg_cells} +#@ group_variable power {power_hdlc_do_not_split_cg_cells} +#@ group_variable power {power_rtl_saif_file} +#@ group_variable power {power_sdpd_saif_file} +#@ group_variable power {power_cg_flatten} +#@ group_variable power {power_opto_extra_high_dynamic_power_effort} +#@ group_variable power {power_default_static_probability} +#@ group_variable power {power_default_toggle_rate} +#@ group_variable power {power_default_toggle_rate_type} +#@ group_variable power {power_model_preference} +#@ group_variable power {power_sa_propagation_effort} +#@ group_variable power {power_sa_propagation_verbose} +#@ group_variable power {power_fix_sdpd_annotation} +#@ group_variable power {power_fix_sdpd_annotation_verbose} +#@ group_variable power {power_sdpd_message_tolerance} +#@ group_variable power {power_rclock_use_asynch_inputs} +#@ group_variable power {power_rclock_inputs_use_clocks_fanout} +#@ group_variable power {power_rclock_unrelated_use_fastest} +#@ group_variable power {power_lib2saif_rise_fall_pd} +#@ group_variable power {power_min_internal_power_threshold} +#@ group_variable power {power_cg_module_naming_style} +#@ group_variable power {power_cg_cell_naming_style} +#@ group_variable power {power_cg_gated_clock_net_naming_style} +#@ group_variable power {do_operand_isolation} +#@ +#@ # dpcm variables are used by DPCM lib and controllong DC when using DPCM +#@ +#@ if { [info exists dpcm_debuglevel] } { +#@ group_variable dpcm "dpcm_debuglevel" +#@ group_variable dpcm "dpcm_rulespath" +#@ group_variable dpcm "dpcm_rulepath" +#@ group_variable dpcm "dpcm_tablepath" +#@ group_variable dpcm "dpcm_libraries" +#@ group_variable dpcm "dpcm_version" +#@ group_variable dpcm "dpcm_level" +#@ group_variable dpcm "dpcm_temperaturescope" +#@ group_variable dpcm "dpcm_voltagescope" +#@ group_variable dpcm "dpcm_functionscope" +#@ group_variable dpcm "dpcm_wireloadscope" +#@ group_variable dpcm "dpcm_slewlimit" +#@ group_variable dpcm "dpcm_arc_sense_mapping" +#@ +#@ } +#@ +#@ set dpcm_slewlimit "TRUE" +#@ +#@ # executable to fire off RTLA/BCV +#@ group_variable hdl {xterm_executable} +#@ +#@ # Variable group for Chip Compiler +#@ if {[info exists acs_work_dir]} { +#@ group_variable acs acs_area_report_suffix +#@ group_variable acs acs_autopart_max_area +#@ group_variable acs acs_autopart_max_percent +#@ group_variable acs acs_budgeted_cstr_suffix +#@ group_variable acs acs_compile_script_suffix +#@ group_variable acs acs_constraint_file_suffix +#@ group_variable acs acs_cstr_report_suffix +#@ group_variable acs acs_db_suffix +#@ group_variable acs acs_dc_exec +#@ group_variable acs acs_default_pass_name +#@ group_variable acs acs_exclude_extensions +#@ group_variable acs acs_exclude_list +#@ group_variable acs acs_global_user_compile_strategy_script +#@ group_variable acs acs_hdl_verilog_define_list +#@ group_variable acs acs_hdl_source +#@ group_variable acs acs_lic_wait +#@ group_variable acs acs_log_file_suffix +#@ group_variable acs acs_make_args +#@ group_variable acs acs_make_exec +#@ group_variable acs acs_makefile_name +#@ group_variable acs acs_num_parallel_jobs +#@ group_variable acs acs_override_report_suffix +#@ group_variable acs acs_override_script_suffix +#@ group_variable acs acs_qor_report_suffix +#@ group_variable acs acs_timing_report_suffix +#@ group_variable acs acs_use_autopartition +#@ group_variable acs acs_use_default_delays +#@ group_variable acs acs_user_budgeting_script +#@ group_variable acs acs_user_compile_strategy_script_suffix +#@ group_variable acs acs_verilog_extensions +#@ group_variable acs acs_vhdl_extensions +#@ group_variable acs acs_work_dir +#@ group_variable acs check_error_list +#@ group_variable acs ilm_preserve_core_constraints +#@ +#@ } +#@ +#@ # +#@ # DesignTime Variable Group timing +#@ # +#@ +#@ group_variable timing case_analysis_log_file +#@ group_variable timing case_analysis_sequential_propagate +#@ group_variable timing case_analysis_with_logic_constants +#@ group_variable timing create_clock_no_input_delay +#@ group_variable timing disable_auto_time_borrow +#@ group_variable timing disable_case_analysis +#@ group_variable timing disable_conditional_mode_analysis +#@ group_variable timing disable_library_transition_degradation +#@ group_variable timing dont_bind_unused_pins_to_logic_constant +#@ group_variable timing enable_slew_degradation +#@ group_variable timing high_fanout_net_pin_capacitance +#@ group_variable timing high_fanout_net_threshold +#@ group_variable timing lib_thresholds_per_lib +#@ group_variable timing rc_adjust_rd_when_less_than_rnet +#@ group_variable timing rc_ceff_delay_min_diff_ps +#@ group_variable timing rc_degrade_min_slew_when_rd_less_than_rnet +#@ group_variable timing rc_driver_model_max_error_pct +#@ group_variable timing rc_filter_rd_less_than_rnet +#@ group_variable timing rc_input_threshold_pct_fall +#@ group_variable timing rc_input_threshold_pct_rise +#@ group_variable timing rc_output_threshold_pct_fall +#@ group_variable timing rc_output_threshold_pct_rise +#@ group_variable timing rc_rd_less_than_rnet_threshold +#@ group_variable timing rc_slew_derate_from_library +#@ group_variable timing rc_slew_lower_threshold_pct_fall +#@ group_variable timing rc_slew_lower_threshold_pct_rise +#@ group_variable timing rc_slew_upper_threshold_pct_fall +#@ group_variable timing rc_slew_upper_threshold_pct_rise +#@ group_variable timing timing_disable_cond_default_arcs +#@ # group_variable timing timing_enable_multiple_clocks_per_reg +#@ group_variable timing timing_report_attributes +#@ group_variable timing timing_self_loops_no_skew +#@ group_variable timing when_analysis_permitted +#@ group_variable timing when_analysis_without_case_analysis +#@ +#@ } ;# $synopsys_program_name != "ptxr" +#@ +#@ if { $synopsys_program_name == "icc_shell"} { +#@ # +#@ # IC Compile Variable Group: +#@ # +#@ # These variables affect the designs created by the route_opt command. +#@ # +#@ group_variable routeopt routeopt_checkpoint +#@ group_variable routeopt routeopt_disable_cpulimit +#@ } +#@ +#@ if { $synopsys_program_name == "icc_shell"} { +#@ # +#@ # IC Compiler Variable Group: MCMM +#@ # +#@ # These variables affect Multi-Corner/Multi-Mode. Currently, MCMM is +#@ # only supported in ICC--hence the "icc_shell" qualification, above +#@ # +#@ group_variable MCMM mcmm_enable_high_capacity_flow +#@ } +#@ +#@ # Aliases for backwards compatibility or other reasons +#@ group_variable compile {compile_log_format} +#@ alias view_cursor_number x11_set_cursor_number +#@ alias set_internal_load set_load +#@ alias set_internal_arrival set_arrival +#@ alias set_connect_delay "set_annotated_delay -net" +#@ alias create_test_vectors create_test_patterns +#@ alias compile_test insert_test +#@ alias check_clocks check_timing +#@ alias lint check_design +#@ # gen removed; alias gen create_schematic +#@ alias free remove_design +#@ alias group_bus create_bus +#@ alias ungroup_bus remove_bus +#@ alias groupvar group_variable +#@ alias report_constraints report_constraint +#@ alias report_attributes report_attribute +#@ alias fsm_reduce reduce_fsm +#@ alias fsm_minimize minimize_fsm +#@ alias disable_timing set_disable_timing +#@ alias dont_touch set_dont_touch +#@ alias dont_touch_network set_dont_touch_network +#@ alias dont_use set_dont_use +#@ alias fix_hold set_fix_hold +#@ alias prefer set_prefer +#@ alias remove_package "echo remove_package command is obsolete: packages are stored on disk not in-memory:" +#@ alias analyze_scan preview_scan +#@ alias get_clock get_clocks +#@ alias dc_shell_is_in_incr_mode shell_is_in_xg_mode +#@ alias set_vh_module_options set_dps_module_options +#@ alias set_vh_physopt_options set_dps_options +#@ alias update_vh_design update_dps_design +#@ alias vh_start dps_start +#@ alias vh_end dps_end +#@ alias all_vh_modules all_dps_modules +#@ alias all_designs_of_vh all_designs_of_dps +#@ alias vh_use_auto_partitioning dps_auto_partitioning +#@ alias vh_write_changes dps_write_changes +#@ alias vh_read_changes dps_read_changes +#@ alias vh_write_module_clock dps_write_module_clock +#@ alias get_lib get_libs +#@ +#@ # Enable unsupported psyn commands +#@ if { $synopsys_program_name == "psyn_shell" || $synopsys_program_name == "icc_shell"} { +#@ proc enable_unsupported_commands { { arg "default" } } { +#@ global cgpi_use_new_wire_factors +#@ global cgpi_use_relative_wire_factors +#@ global cgpi_use_new_path_factors +#@ global pwlm_use_new_wire_factors +#@ global pwlm_use_relative_wire_factors +#@ global pwlm_use_new_path_factors +#@ global psyn_unsupported_commands_dir +#@ global synopsys_root +#@ if {![info exists psyn_unsupported_commands_dir]} { +#@ set psyn_unsupported_commands_dir $synopsys_root/auxx/syn/psyn/unsupported_commands +#@ } +#@ set psyn_unsupported_commands_option1 $arg +#@ if {[file readable $psyn_unsupported_commands_dir/setup.tcl]} { +#@ source $psyn_unsupported_commands_dir/setup.tcl +#@ } else { +#@ source -encrypted $psyn_unsupported_commands_dir/setup.tcl.e +#@ } +#@ } +#@ } +#@ # For Intel +#@ if { $synopsys_program_name == "icc_shell"} { +#@ set psyn_unsupported_commands_dir $synopsys_root/auxx/syn/psyn/unsupported_commands +#@ source -encrypted $psyn_unsupported_commands_dir/max_dist.tcl.e +#@ } +#@ +#@ +#@ if { $synopsys_program_name == "icc_shell"} { +#@ # to enable CLE readline-ish terminal by default for ICC +#@ set sh_enable_line_editing true +#@ +#@ # Astro forms create an enormous number of new variables which are +#@ # very annoying for users to see, so the default of this variable +#@ # for ICC is false +#@ set sh_new_variable_message false +#@ } +#@ +#@ if { $synopsys_program_name == "icc_shell" || (($synopsys_program_name == "dc_shell") && ([shell_is_in_topographical_mode])) } { +#@ source $synopsys_root/auxx/syn/psyn/verify_ilm.tcl +#@ } +#@ +#@ # Enable vh psyn commands +#@ if { $synopsys_program_name == "psyn_shell" } { +#@ proc enable_vh_flow { } { +#@ global VH_SCRIPT_FILE +#@ global synopsys_root +#@ global suppress_errors +#@ set suppress_errors "$suppress_errors CMD-041 UID-95 SEL-003 SEL-005" +#@ if {![info exists VH_SCRIPT_FILE]} { +#@ set VH_SCRIPT_FILE $synopsys_root/auxx/syn/psyn/vh_pc.tcl.e +#@ } +#@ if {[file readable $VH_SCRIPT_FILE]} { +#@ if {[string match *.tcl $VH_SCRIPT_FILE]} { +#@ source $VH_SCRIPT_FILE +#@ } else { +#@ source -encrypted $VH_SCRIPT_FILE +#@ } +#@ } else { +#@ puts "Error: VH script file $VH_SCRIPT_FILE not found." +#@ } +#@ } +#@ } +#@ +#@ +#@ #Turn on enable_netl_view to true by default. +#@ set enable_netl_view "TRUE" +#@ +#@ +#@ #Turn on physopt_bypass_multiple_plib_check by default +#@ if { $synopsys_program_name == "psyn_shell" } { +#@ set physopt_bypass_multiple_plib_check TRUE +#@ } +#@ +#@ # The ls command is gone, now it is just an alias for dc_shell eqn mode +#@ +#@ if { [string compare $dc_shell_mode "default"] == 0 } { +#@ if { ( $sh_arch == {mips}) && ( ( $synopsys_program_name == {design_analyzer}) || ( $isatty == 0)) } { +#@ alias ls "sh ls -a " +#@ } else { +#@ if { ( $sh_arch == {mips}) || ( $sh_arch == {necmips}) } { +#@ alias ls "sh ls -aC " +#@ } else { +#@ alias ls "sh ls -aC " +#@ } +#@ } +#@ } +#@ +#@ # Aliases for RouteCompiler +#@ alias run_rodeo_router route66 +#@ +#@ # Removing route_global from the code. Earlier it was hidden. --Mukesh +#@ #proc route_global {} { +#@ # global route_global_keep_tmp_data +#@ # global rt66_dont_lock_dir +#@ # +#@ # set rt66_dont_lock_dir TRUE +#@ # +#@ # for { set i 0} {1==1} {incr i} { +#@ # set wdir [file join [pwd] ".route_global.$i"] +#@ # if {[file exist $wdir] == 0} { +#@ # break; +#@ # } +#@ # } +#@ # +#@ # set_routing_options -cut_out_covered_port CORE_ONLY +#@ # set_routing_options -internal_routing FALSE +#@ # set_routing_options -stick_routing FALSE +#@ # +#@ # ###puts "wdir = $wdir" +#@ # +#@ # set success [route66 -global -dontstop -dir $wdir] +#@ # +#@ # #clean tmp data if required: +#@ # if { $success == 1 } { +#@ # if [catch {string toupper $route_global_keep_tmp_data} result] { +#@ # #variable is not defined +#@ # ###puts "result_1 = $result => removing dir ..." +#@ # catch { file delete -force $wdir } +#@ # } else { +#@ # #variable is set to FALSE +#@ # if { [string compare $result "TRUE"] != 0} { +#@ # ###puts "result_2 = $result => removing dir ..." +#@ # catch { file delete -force $wdir } +#@ # } +#@ # } +#@ # } +#@ # +#@ # set rt66_dont_lock_dir FALSE +#@ # return 1 +#@ #} +#@ #define_proc_attributes route_global -hidden +#@ +#@ #/* Aliases added for report command */ +#@ alias report_clock_constraint "report_timing -path end -to all_registers(-data_pins)" +#@ alias report_clock_fanout "report_transitive_fanout -clock_tree" +#@ alias report_clocks report_clock +#@ alias report_synthetic report_cell +#@ +#@ # Alias added for Ultra backward compatibility mode +#@ alias set_ultra_mode set_ultra_optimization +#@ +#@ # alias for write_sge and menu item in DA for db2sge +#@ +#@ #if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ # set db2sge_script ${synopsys_root}/admin/setup/.dc_write_sge.tcl +#@ #} else { +#@ # set db2sge_script ${synopsys_root}/admin/setup/.dc_write_sge +#@ #} +#@ +#@ #set db2sge_command ${synopsys_root}/${sh_arch}/syn/bin/db2sge +#@ set view_script_submenu_items "\"DA to SGE Transfer\" write_sge" +#@ +#@ +#@ if { $synopsys_program_name != "lc_shell"} { +#@ # read schematic annotation setup file +#@ #source ${synopsys_root}/admin/setup/.dc_annotate +#@ +#@ # setup the default layer settings +#@ #source ${synopsys_root}/admin/setup/.dc_layers +#@ +#@ if {$synopsys_program_name != "dc_sms_shell"} { +#@ source ${synopsys_root}/admin/setup/.dc_name_rules +#@ } +#@ } else { +#@ #for read_lib -html +#@ source ${synopsys_root}/auxx/syn/lc/read_lib_html_msg_list.tcl +#@ } +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/admin/setup/.dc_name_rules + +#@ # +#@ +#@ # .dc_name_rules Initialization file for +#@ +#@ # Dc_Shell and Design_Analyzer +#@ +#@ # This files defines name rules for target systems. Change_names +#@ # will use this rules to fix the object names. +#@ +#@ #*/ +#@ +#@ +#@ define_name_rules sverilog -type net -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules sverilog -type port -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules sverilog -type cell -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ define_name_rules sverilog -reserved { "always" "always_comb" "always_ff" "always_latch" "and" "assert" "assert_strobe" "assign" "automatic" "begin" "bit" "break" "buf" "bufif0" "bufif1" "byte" "case" "casex" "casez" "cell" "changed" "char" "cmos" "config" "const" "continue" "deassign" "default" "defparam" "design" "disable" "do" "edge" "else" "end" "endcase" "endconfig" "endfunction" "endgenerate" "endinterface" "endmodule" "endprimitive" "endspecify" "endtable" "endtask" "endtransition" "enum" "event" "export" "extern" "for" "force" "forever" "fork" "forkjoin" "function" "generate" "genvar" "highz0" "highz1" "if" "iff" "ifnone" "import" "incdir" "include" "initial" "inout" "input" "instance" "int" "integer" "interface" "join" "large" "liblist" "library" "localparam" "logic" "longint" "longreal" "macromodule" "medium" "modport" "module" "nand" "negedge" "nmos" "nor" "noshowcancelled" "not" "notif0" "notif1" "or" "output" "packed" "parameter" "pmos" "posedge" "primitive" "process" "priority" "pull0" "pull1" "pullup" "pulldown" "pulsestyle_onevent" "pulsestyle_ondetect" "rcmos" "real" "realtime" "reg" "release" "repeat" "return" "rnmos" "rpmos" "rtran" "rtranif0" "rtranif1" "scalared" "shortint" "shortreal" "showcancelled" "signed" "small" "specify" "specparam" "static" "strong0" "strong1" "struct" "supply0" "supply1" "table" "task" "time" "timeprecision" "timeunit" "tran" "tranif0" "tranif1" "transition" "tri" "tri0" "tri1" "triand" "trior" "trireg" "type" "typedef" "union" "unique" "use" "unsigned" "vectored" "void" "wait" "wand" "weak0" "weak1" "while" "wire" "wor" "xor" "xnor" } -special verilog -target_bus_naming_style {%s[%d]} -flatten_multi_dimension_busses -check_internal_net_name -check_bus_indexing +#@ +#@ define_name_rules verilog -type net -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules verilog -type port -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules verilog -type cell -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ define_name_rules verilog -reserved { "always" "and" "assign" "automatic" "begin" "buf" "bufif0" "bufif1" "case" "casex" "casez" "cell" "cmos" "config" "deassign" "default" "defparam" "design" "disable" "edge" "else" "end" "endcase" "endconfig" "endfunction" "endgenerate" "endmodule" "endprimitive" "endspecify" "endtable" "endtask" "event" "for" "force" "forever" "fork" "function" "generate" "genvar" "highz0" "highz1" "if" "ifnone" "incdir" "include" "initial" "inout" "input" "instance" "integer" "join" "large" "liblist" "library" "localparam" "macromodule" "medium" "module" "nand" "negedge" "nmos" "nor" "noshowcancelled" "not" "notif0" "notif1" "or" "output" "parameter" "pmos" "posedge" "primitive" "pull0" "pull1" "pullup" "pulldown" "pulsestyle_onevent" "pulsestyle_ondetect" "rcmos" "real" "realtime" "reg" "release" "repeat" "rnmos" "rpmos" "rtran" "rtranif0" "rtranif1" "scalared" "showcancelled" "signed" "small" "specify" "specparam" "strong0" "strong1" "supply0" "supply1" "table" "task" "time" "tran" "tranif0" "tranif1" "tri" "tri0" "tri1" "triand" "trior" "trireg" "unsigned" "use" "vectored" "wait" "wand" "weak0" "weak1" "while" "wire" "wor" "xor" "xnor" } -special verilog -target_bus_naming_style {%s[%d]} -flatten_multi_dimension_busses -check_internal_net_name -check_bus_indexing +#@ +#@ define_name_rules verilog_1995 -type net -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules verilog_1995 -type port -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ +#@ define_name_rules verilog_1995 -type cell -allow "a-z A-Z 0-9 _ " -first_restrict "_ 0-9" +#@ define_name_rules verilog_1995 -reserved { "always" "and" "assign" "begin" "buf" "bufif0" "bufif1" "case" "casex" "casez" "cell" "cmos" "deassign" "default" "defparam" "design" "disable" "edge" "else" "end" "endcase" "endfunction" "endmodule" "endprimitive" "endspecify" "endtable" "endtask" "event" "for" "force" "forever" "fork" "function" "highz0" "highz1" "if" "ifnone" "initial" "inout" "input" "integer" "join" "large" "macromodule" "medium" "module" "nand" "negedge" "nmos" "nor" "notif0" "notif1" "or" "output" "parameter" "pmos" "posedge" "primitive" "pull0" "pull1" "pullup" "pulldown" "rcmos" "real" "realtime" "reg" "release" "repeat" "rnmos" "rpmos" "rtran" "rtranif0" "rtranif1" "scalared" "small" "specify" "specparam" "strong0" "strong1" "supply0" "supply1" "table" "task" "time" "tran" "tranif0" "tranif1" "tri" "tri0" "tri1" "triand" "trior" "trireg" "vectored" "wait" "wand" "weak0" "weak1" "while" "wire" "wor" "xor" "xnor" } -special verilog -target_bus_naming_style {%s[%d]} -flatten_multi_dimension_busses -check_internal_net_name -check_bus_indexing +#@ +#@ +#@ ####/* Name rule for VHDL */ +#@ +#@ ####/* Name rule for VHDL */ +#@ +#@ ####/* Name rule for VHDL */ +#@ +#@ define_name_rules vhdl -reserved_words { "abs" "access" "after" "alias" "all" "and" "architecture" "array" "assert" "attribute" \ +#@ "begin" "block" "body" "buffer" "bus" "case" "component" "configuration" "constant" "disconnect" "downto" "else" "elsif" "end" "entity" "exit" "file" "for" "function" "generate" "generic" "group" "guarded" "if" "impure" "in" "inertial" "inout" "is" "label" "library" "linkage" "literal" "loop" "map" "mod" "nand" "new" "next" "nor" "not" "null" "of" "on" "open" "or" "others" "out" "package" "port" "postponed" "procedure" "process" "pure" "range" "record" "register" "reject" "rem" "report" "return" "rol" "ror" "select" "severity" "signal" "shared" "sla" "sll" "sra" "srl" "subtype" "then" "to" "transport" "type" "unaffected" "units" "until" "use" "variable" "wait" "when" "while" "with" "xnor" "xor"} -case_insensitive -target_bus_naming_style "%s(%d)" -replacement_char "x" -special vhdl +#@ define_name_rules vhdl -type net -allowed "A-Z a-z _ 0-9 " -first_restricted "0-9 _" -last_restricted "_" +#@ define_name_rules vhdl -type port -allowed "A-Z a-z _ 0-9 " -first_restricted "0-9 _" -last_restricted "_" +#@ define_name_rules vhdl -type cell -allowed "A-Z a-z _ 0-9" -first_restricted "0-9 _" -last_restricted "_" +#@ define_name_rules vhdl -map { {{"__","_"},{"_$",""}} } +#@ +#@ ####/* Name rule for VHDL */ +#@ # -- End source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/admin/setup/.dc_name_rules + +#@ +#@ if { $synopsys_program_name == "psyn_gui"} { +#@ # read RouteCompiler GUI file for timing critical pathes. +#@ source ${synopsys_root}/auxx/syn/route_gui/write_route_timing_path.tcl +#@ } +#@ +#@ # Set physopt_dw_opto to false +#@ if { [string match -nocase {*icc_shell*} $synopsys_program_name] } { +#@ set physopt_dw_opto FALSE +#@ } +#@ +#@ #/* Read budgeting setup script */ +#@ +#@ if { [string compare $dc_shell_mode "default"] == 0 } { +#@ +#@ # Need a encrypted file in Tcl format for budget.setup.et +#@ if { $sh_arch != "msvc50" && $sh_arch != "alpha_nt" } { +#@ # source -e synopsys_root + "/admin/setup/budget.setup.et" +#@ } +#@ } +#@ +#@ if { $synopsys_program_name == "icc_shell"} { +#@ source $synopsys_root/auxx/syn/.icc_procs.tcl +#@ source -encrypted $synopsys_root/auxx/syn/cts/fast_atomic_cts.tcl.e +#@ } +#@ +#@ if { $synopsys_program_name == "icc_shell"} { +#@ alias report_scenario report_scenarios +#@ } +#@ +#@ # floorplanning preferences globals +#@ global fp_snap_type +#@ +#@ set fp_snap_type(port) wiretrack +#@ set fp_snap_type(cell) litho +#@ set fp_snap_type(pin) wiretrack +#@ set fp_snap_type(movebound) litho +#@ set fp_snap_type(port_shape) wiretrack +#@ set fp_snap_type(wiring_keepout) wiretrack +#@ set fp_snap_type(placement_keepout) litho +#@ set fp_snap_type(net_shape) wiretrack +#@ set fp_snap_type(route_shape) wiretrack +#@ set fp_snap_type(none) litho +#@ +#@ # STAR 9000615813. PWR-18 is no longer internally suppressed. +#@ # Instead call tcl suppress_message so that it can be unsuppressed by users in +#@ # command line if needed +#@ suppress_message PWR-18 +#@ +#@ # alias for write_sge is always the last line of the setup file +#@ #if { [string compare $dc_shell_mode "tcl"] == 0 } { +#@ # alias write_sge "source db2sge_script" +#@ #} else { +#@ # alias write_sge "include db2sge_script" +#@ #} +#@ +#@ if { $dc_shell_mode == "tcl" } { +#@ # Configure Execute script dialog to display .tcl files +#@ set view_execute_script_suffix "$view_execute_script_suffix .tcl" +#@ } +#@ +#@ # +#@ # Shirley Lu 5/15/2007 +#@ # +#@ # Invoke NCX validation/correlation/fomatter from lc_shell: +#@ # +#@ # UNIX shell: +#@ # setenv SYNOPSYS_NCX_ROOT /mydisk/ncx_2007.06 +#@ # +#@ +#@ if {[info exists env(SYNOPSYS_NCX_ROOT)]} { +#@ +#@ set ncx_path $env(SYNOPSYS_NCX_ROOT)/ncx/${sh_arch}/bin +#@ +#@ # +#@ # check_ccs_lib +#@ # use libchecker under $ncx_path defined above +#@ # Disable this command since 2010.12-SP3 (should be done in 2010.12 release) +#@ #proc check_ccs_lib {args} { +#@ # global ncx_path +#@ # set cmdStr [linsert $args 0 ${ncx_path}/libchecker -lc_shell] +#@ # set cmd [open "| $cmdStr 2>@ stdout"] +#@ # catch { +#@ # while {[gets $cmd info] >= 0} { +#@ # echo $info +#@ # } +#@ # } +#@ # if {[catch {close $cmd} msg]} { +#@ # } +#@ #} +#@ +#@ # +#@ # format_lib +#@ # use ncx under $ncx_path defined above +#@ # Disable format_lib command in 2014.09 release -- xwwang, 7/25/2014 +#@ #proc format_lib {args} { +#@ # global ncx_path +#@ # echo "Warning: format_lib command is scheduled to become obsolete in a future production release." +#@ # set cmdStr [linsert $args 0 ${ncx_path}/ncx -lc_shell] +#@ # set cmd [open "| $cmdStr 2>@ stdout"] +#@ # catch { +#@ # while {[gets $cmd info] >= 0} { +#@ # echo $info +#@ # } +#@ # } +#@ # if {[catch {close $cmd} msg]} { +#@ # } +#@ #} +#@ +#@ } +#@ +#@ proc valias {v_orig v_alias} { +#@ uplevel 1 "upvar 0 $v_orig $v_alias" +#@ } +#@ +#@ set lc_run_from_legacy_library_compiler "true" +#@ +#@ set lc_enable_legacy_library_compiler "false" +#@ +#@ valias lc_enable_legacy_library_compiler lc_enable_common_shell_lc +#@ +#@ if {[info exists ::env(SYNOPSYS_LC_ROOT)] && [file exists $::env(SYNOPSYS_LC_ROOT)/$::sh_arch/lc/bin/lc_shell_exec]} { +#@ # make lc man pages search path override the default man page search path +#@ set man_path [linsert $man_path 0 $::env(SYNOPSYS_LC_ROOT)/doc/lc/man] +#@ } else { +#@ set lc_link "$::synopsys_root/$::sh_arch/syn/bin/lc_shell_exec" +#@ while { [file exists $lc_link] && [file type $lc_link] == "link"} { +#@ set lc_link [file readlink $lc_link] +#@ } +#@ # resolve symbol-link to get $exec_path of lc_shell_exec +#@ if { [file exists $lc_link] } { +#@ set LC_ROOT [file dirname [file dirname [file dirname [file dirname $lc_link]]]] +#@ set man_path [linsert $man_path 0 $LC_ROOT/doc/lc/man] +#@ } +#@ } +#@ +#@ source ${synopsys_root}/auxx/syn/lc_commands.tbc +#@ # -- Starting source /home/edauser/EDA_Tools/Synopsys/syn/M-2016.12-SP4/auxx/syn/lc_commands.tbc + +#@ ############################################################################## +#@ # Author : Liping Zhao +#@ # History: 2016/11/21 created +#@ # Description: This is the source tcl file of run_nglc.tbc. +#@ # The procs are all for run library compiler under the hood. +#@ # These procs are exracted from .synopsys_dc.setup +#@ ############################################################################## +#@ # TclPro::Compiler::Include +#@ +#@ if {[catch {package require tbcload 1.6} err] == 1} { +#@ return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err" +#@ } +#@ tbcload::bceval { +#@ TclPro ByteCode 2 0 1.7 8.5 +#@ 34 0 340 47 0 0 268 0 4 34 34 -1 -1 +#@ 340 +#@ ReFvRK%/HW!2`8s!fof`';I+'(/HW!2`8s!h,HB(TQ(w)/HW +#@ bb>!2`8s!kGD?)@!^Z)/HWm#H8&Z)F5mNaEt-E- +#@ x +#@ 1 +#@ A! +#@ p +#@ 5 0 29 3 0 0 20 0 9 5 5 -1 -1 +#@ 29 +#@ w0EpvQks6#;>fv!E*<!8^w!!a9)!!&E&s +#@ !18:3w4Ki!8^w!!KJv!!&E&s!1rA=!;Yq9-C^w +#@ !!+?!!!1;l!,A^w!!+?!!!fqlwv5v!!!D!!!!gF#!!&E&s!:8B=!4,tl#,eN48;I%!!'BWMe`BJ>'0.#3WW!0#>6#3# +#@ Ts!TG;I/m&3,!/uJv!#0EMe`BLP|f.#3WW!0#>6#82Ts!TG;I/o,3,!1,|v!#0EMe`BJ +#@ >'0.#3WW!0#>6#:8Ts!TG;I/m&3,!/uJv!#0E!^KnMe`BJ>'0.#3WW!0#>6#<>Ts!TG;I/m&3,!/uJv!#0E!_KnMe`BJ>'0.#3 +#@ WW!0#>6#>DTs!TG;I/m&3,!/uJv!#0Em#HvdM +#@ e`BBKMT+#3WW!w0EMe`BBKMT+#3WW!w0EMe`BBKMT+#3WW!w0EMe`BBKMT+#3WW!w0Em#HvdKv +#@ x +#@ 3 +#@ g'i- +#@ 0 +#@ 0 +#@ 1 2 +#@ 1 +#@ ?v +#@ 0 0 256 +#@ 3 +#@ g'i- +#@ 1 0 0 +#@ x +#@ 13 +#@ qd,r@dIa:@e-%lB.v +#@ x +#@ 6 +#@ 'E%6B_-v +#@ p +#@ 1 0 7 1 0 0 4 0 2 1 1 -1 -1 +#@ 7 +#@ ,|&v!)'!! +#@ 1 +#@ z +#@ 1 +#@ '! +#@ 1 +#@ x +#@ 21 +#@ w3F/D'gi'FrZ!iCdIa:@e-%lB.v +#@ 0 +#@ 0 +#@ 1 1 +#@ 4 +#@ %N|(F +#@ 0 0 256 +#@ x +#@ 21 +#@ w3F/D'gi'FrZ!iCdIa:@e-%lB.v +#@ x +#@ 5 +#@ %N|(FA! +#@ p +#@ 10 0 92 13 0 0 40 0 5 10 10 -1 -1 +#@ 92 +#@ )NrUNw,?WcEh7|7An1g+ +#@ x +#@ 5 +#@ )lP)F1v +#@ x +#@ 19 +#@ ,v(Z?!aiaEmo3mBm+BRAyOl, +#@ x +#@ 21 +#@ w3F/D'gi'FrZ!iCdIa:@VhrU@?v +#@ x +#@ 18 +#@ #k|Z?(FuSAhaBq@c^CkBHSw +#@ 0 +#@ 0 +#@ 1 3 +#@ 4 +#@ %N|(F +#@ 0 0 256 +#@ 8 +#@ o4jY?m'cSA +#@ 1 0 0 +#@ 4 +#@ g3IID +#@ 2 0 0 +#@ x +#@ 14 +#@ #k|Z?r0H8Aw9fwGJ%% +#@ p +#@ 7 0 70 13 0 0 28 0 6 7 7 -1 -1 +#@ 70 +#@ )Nre`B;a9?)v*<N%Je|v +#@ 13 +#@ x +#@ 3 +#@ _e|+ +#@ x +#@ 15 +#@ kaT5BgxUgCr6m*E_I-, +#@ x +#@ 6 +#@ sT2TAIPw +#@ x +#@ 8 +#@ m'cSANjkSA +#@ x +#@ 1 +#@ +v +#@ x +#@ 5 +#@ n0Hr@7v +#@ x +#@ 12 +#@ #graEv_Bq@,0B(F +#@ x +#@ 4 +#@ m'cSA +#@ x +#@ 6 +#@ gpbSAPSw +#@ x +#@ 6 +#@ AP5cE?Sw +#@ x +#@ 18 +#@ kaT5Bmv +#@ 0 +#@ 0 +#@ 0 1 +#@ 8 +#@ m'cSANjkSA +#@ 0 0 0 +#@ x +#@ 14 +#@ 4rBfD1-0CFq&fwGJ%% +#@ x +#@ 10 +#@ (KxhCN1-.DQ-v +#@ p +#@ 17 0 213 23 2 1 88 2 10 17 21 -1 -1 +#@ 213 +#@ w0E!8^w!!2V'!!*i=6#4;tl#=MGY!g@#!!ee6(!H,FN-gE +#@ EfR8SUNw

:v8P60%.EW