witam,
mam prosty program dla XC9536 napisany w Xilinx ISE:
MODULE Firmware
" *** inputs ***
FREQ PIN 1;
" *** outputs ***
CON PIN 22 istype 'com'; COF PIN 23 istype 'com';
" *** work vars
PON NODE istype 'com'; POF NODE istype 'com';
EQUATIONS
" *** version A ***
"PON = FREQ & !(CON.PIN); "POF = !FREQ & !(COF.PIN); "CON = !(!(PON) & COF.PIN); "COF = !(!(POF) & CON.PIN);
" *** version B ***
CON = !(!(FREQ & !(CON.PIN)) & COF.PIN); COF = !(!(!FREQ & !(COF.PIN)) & CON.PIN);
END
mam wejście FREQ oraz dwa wyjścia CON (które jest identyczne jak FREQ) oraz COF (które jest zanegowanym FREQ). całość działa jako przerzutnik RS
problem jest taki że "version A" nie działa poprawnie, a "version B" działa poprawnie, mimo że "version A" ma jedynie "wyciągnięte" na wierzch część z równiania wersji B do zmiennych pomocniczych PON i POF.
czy mógłby ktoś podpowiedzieć skąd ta różnica w działaniu?
pozdrawiam, SM