[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [N8VEM-S100:3128] Re: GAL's and PALASM




Bob, I'm just learning how to use PALASM4.  What I'm trying to figure out is how to emulate in software the circuit attached here:-


I wish to obtain mA0 from the inputs /mBE0*, /mBE2* & /mBE1.  I can figure gates out for one layer of gates but how does one do it for two (or more) layers without brackets.  Does one have to by hand write down all the possible permutations and permetations.

Since you know the language could you help me out by writing down the PALASM4 equations for mA0 and /msXTRQ in the above diagram
I will study them and hopefully something will click.
John

 

On Tuesday, April 22, 2014 2:27:31 PM UTC-7, Rob Doyle wrote:
On 4/20/2014 11:54 AM, John Monahan wrote:
> Hi Neil,
>
> Good luck with the VP390.  I’ll be curious to see if you can burn the
> Atmel AFT22V10 GAL’s and if you have to set the GAL type to National
> Semiconductor rather than Lattice.
>
> With the changes I described however I have had no problems burning
> Lattice 22V10’s.
>
> On the software side I’m running into a curious issue.
>
> I would like to use “(“ and “)” brackets  in some of my equations  as
> PALASM allows that.  However the PALASM4 program always comes up with
> error X10003
>
> “Please run Minimize (Minimize Boolean)”
>
> However if I set “Y” for “Minimize Boolean” in the Compilation Options,
>   the compile does not give an error but no .JED file is written.
>
> An example would be:-
>
> mA0       =      (mBE0 + /mBE1 * /mBE2)
>                       +  mBE0 * /mBE1 *  mBE2
>                       +  mBE0 *  mBE1 *  mBE2
>
> Do you get the same thing?
>

This equation is the same as:

mA0 =  mBE0
     + /mBE1 * /mBE2
     +  mBE0 * /mBE1 * mBE2 -- redundant
     +  mBE0 *  mBE1 * mBE2 -- redundant

or equivalently:

mA0 =  mBE0
     + /mBE1 * /mBE2

Was that your intent? The parenthesis seem superfluous.

The last two terms are redundant. When mBE0 is asserted, mBE1 and mBE2
don't matter. When mBE0 is negated, mBE1 and mBE2 don't matter either.
The optimizer will surely notice that.

I used PALASM for years and never used parenthesis. I'm not sure if
PALASM is doing something weird with your example.

Bob.