Syn0psys library c0mpiler error

Status
Not open for further replies.

xirix

Full Member level 2
Joined
Jun 26, 2001
Messages
123
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Location
Romania
Activity points
939
I have in a synopsys library a primitive with logic function:
"(!A&!C) | (B&C) | (A&!B)"
Library compiler (ver.2000...2003) does not recognize the function and give the error:
"Failed to recognize the functionality of cell....(LIBG-10)"
DC will not use such function as it is marked as removable.
Does anybody tell me what is wrong with this 3-input function?

Thanks
 

Because if you make the truth table, that logic function will be true no matter what the value of A, B, C so the compiler doesn't need to compile this circuit
 

From truth table, for C=1, A=B=0,
Y=(!A&!C) | (B&C) | (A&!B) = (1&0) | (1&0) | (0&1)=0

The rest of the values are 1 logic.
So, this isn't a constant function.

I'm wondering if we could blaim syn0psys parser.
 

Still no suggestion?
 

You can take one of a, b, c as a select signal of the other two. then it seams like a AND / OR.

DC will work on this express well.
 

I tried already the other forms:
"C ? (A|B) : !(A&B)" or "(A|B)&C | !(A&B)&!C" with the same result.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…