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.