[an error occurred while processing this directive]
|
если правильно объяснить компу что надо делать то он все сделает как надо
например для acex надо компу объяснить что решать задачу надо в 4 битной логике тогда он все поймет вот текст объяснений после которых вся задача решается в 9 LC ( если я не лажанулся гденибуть ;-)))
subdesign test
( in[15..0]:input;
out:output;)
VARIABLE
aout[3..0]:node;
a1out[3..0]:node;
begin
aout[0] =(
(in[3..0]==H"0") or
(in[3..0]==H"1") or
(in[3..0]==H"2") or
(in[3..0]==H"4") or
(in[3..0]==H"8")
);
aout[1] =(
(in[7..4]==H"0") or
(in[7..4]==H"1") or
(in[7..4]==H"2") or
(in[7..4]==H"4") or
(in[7..4]==H"8")
);
aout[2] =(
(in[11..8]==H"0") or
(in[11..8]==H"1") or
(in[11..8]==H"2") or
(in[11..8]==H"4") or
(in[11..8]==H"8")
);
aout[3] =(
(in[15..12]==H"0") or
(in[15..12]==H"1") or
(in[15..12]==H"2") or
(in[15..12]==H"4") or
(in[15..12]==H"8")
);
a1out[0] = (
(in[3..0]==H"1") or
(in[3..0]==H"2") or
(in[3..0]==H"4") or
(in[3..0]==H"8") );
a1out[1] = (
(in[7..4]==H"1") or
(in[7..4]==H"2") or
(in[7..4]==H"4") or
(in[7..4]==H"8") );
a1out[2] = (
(in[11..8]==H"1") or
(in[11..8]==H"2") or
(in[11..8]==H"4") or
(in[11..8]==H"8") );
a1out[3] = (
(in[15..12]==H"1") or
(in[15..12]==H"2") or
(in[15..12]==H"4") or
(in[15..12]==H"8") );
out=not(
(aout[3] and aout[2] and aout[1] and aout[0])
and
not (
a1out[0]&(a1out[1] or a1out[2] or a1out[3]) or
a1out[1]&(a1out[0] or a1out[2] or a1out[3]) or
a1out[2]&(a1out[0] or a1out[1] or a1out[3]) or
a1out[3]&(a1out[0] or a1out[1] or a1out[2])
)
);
end;
это я написал как надо объяснять компьютеру
а чтобы было компактно то можно написать вот так - результат все равно будет 9 LC для acex и flex без разницы
subdesign test
( in[15..0]:input;
out:output;)
VARIABLE
aout[3..0]:node;
begin
aout[0] = (
(in[3..0]==H"1") or
(in[3..0]==H"2") or
(in[3..0]==H"4") or
(in[3..0]==H"8") );
aout[1] = (
(in[7..4]==H"1") or
(in[7..4]==H"2") or
(in[7..4]==H"4") or
(in[7..4]==H"8") );
aout[2] = (
(in[11..8]==H"1") or
(in[11..8]==H"2") or
(in[11..8]==H"4") or
(in[11..8]==H"8") );
aout[3] = (
(in[15..12]==H"1") or
(in[15..12]==H"2") or
(in[15..12]==H"4") or
(in[15..12]==H"8") );
out= not(
((in[3..0] ==H"0" or aout[0]) and
(in[7..4] ==H"0" or aout[1]) and
(in[11..8] ==H"0" or aout[2]) and
(in[15..12] ==H"0" or aout[3]))
and
not(
aout[0]and(aout[1] or aout[2] or aout[3]) or
aout[1]and(aout[0] or aout[2] or aout[3]) or
aout[2]and(aout[0] or aout[1] or aout[3]) or
aout[3]and(aout[0] or aout[1] or aout[2]))
);
end;
E-mail: info@telesys.ru