Example #1
0
        // handle PTD fuses (Product Term Disabled)
        private bool IsRowEnabled(int fuseNumber)
        {
            if (!HasPtdFuses)
            {
                return(true);
            }

            //2128 - 2191 PTD (GAL16v8)
            int ptdFuseNumber = (fuseNumber / FusesPerRow) + RowEnableStartFuse;

            // if the fuse is active, then the row is disabled
            return(!Fuses.Contains(ptdFuseNumber));
        }
Example #2
0
 private void SetMode()
 {
     if (Fuses.Contains(2192) && Fuses.Contains(2193))
     {
         // complex syn=1, ac0=1
         _mode = GalModeEnum.Complex;
     }
     else if (Fuses.Contains(2192))
     {
         // simple syn=1, ac0=0
         _mode = GalModeEnum.Simple;
     }
     else
     {
         // registered syn=0, ac0=1
         _mode = GalModeEnum.Registered;
     }
 }
Example #3
0
        private double ActiveLevel(int outputNumber, double outputVoltage)
        {
            int fuseNumber = 0;

            foreach (var o in OlmcUnits)
            {
                if (o.OutputPin == outputNumber)
                {
                    fuseNumber = o.S0FuseNumber;
                    break;
                }
            }

            if (Fuses.Contains(fuseNumber))
            {
                return(outputVoltage.Inverted());
            }
            return(outputVoltage);
        }