Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 Discussions

LUT mask calculation question

Altera_Forum
Honored Contributor II
2,062 Views

Is there any implicit input inversion in LUT masks? I'm looking at a Stratix II LUT in Synplify, packed with the following function: (!b+!c)(!d+!e)(f). The schematic view is attached. 

 

When I export PSDF (a format that Quartus supports for Physical Synthesis with Synplicity's Amplify), I find LUT mask 0F0C0F0C0A080A08 and permutation {0,2,4,6,1,3,0}. As I work through the bits, according to Section 3.7 of "LCELL WYSIWYG Description for the Stratix II Family" (included with QUIP), I end up with function: (b+c)(d+e)(!f). The function is correct, but its inputs are inverted. 

 

After applying the permutation and rearranging, I obtain: (b+d)(a+f)(!c). However, Chip Editor shows: F & ( !A & C & (!B# !D) )# !F & ( C & (!B# !D) ). Or after rewriting, replacing (!a)f+!f with !a+!f, and rearranging, (!b+!d)(!a+!f)(c), the desired function. 

 

What puzzles me is that Section 3.8 of the document listed above states that the combinational inputs use positive logic, so I don't know how to account for the inputs in my (b+d)(a+f)(!c) expression being inverted. Any thoughts?
0 Kudos
0 Replies
Reply