Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с логика
http://mcu-bg.com/mcu_site/viewtopic.php?f=6&t=17590
Страница 1 от 3

Автор:  Н'бабане Гт'муан'га [ Пон Окт 26, 2020 1:24 pm ]
Заглавие:  Проблем с логика

От няколко дни си блъскам главата над един сложен проблем...

Имам две комбинации от двоични числа:
000, 001, 010, 011, 100, 101, 110, 111
и другата:
0001, 0010, 0100, 1000, 0101, 1101, 1010, 1110

В идеалния случай както клиентът ми го е специфицирал, искам първата да поражда втората директно както са подред сега, обаче в краен случай изходните стойности може да се разместят.

Значи малко повече детайли: става въпрос за един вътрешен дистрибутор на клокове в система, който се управлява с външна комбинания за да укаже кои клокове трябва да се пускат. Понеже цялото нещо е изключително миниатюризирано, целта ми е да го направя с минимално количество логика и на всяка цена без долълнително програмируеми елементи (т.е. това изключва програмируеми логики, промове, микроконтролери)

Някакви предложения?

Автор:  ps66 [ Пон Окт 26, 2020 2:19 pm ]
Заглавие:  Re: Проблем с логика

с декодер (74HC238 3->8) декодираш и изхода го подаваш (навързваш ги според желанията си) на енкодер (74HCT147 16->4) и имаш 3->4

Автор:  lcr [ Пон Окт 26, 2020 2:42 pm ]
Заглавие:  Re: Проблем с логика

Прикачени файлове:
logic.jpg
logic.jpg [ 112.02 KiB | Прегледано 5135 пъти ]


https://circuitverse.org/simulator

tools > combinational analysis > дефинирай си входовете и изходите > next > задай таблицата на истината.

Сигурно може и по-просто, но за мързеливи хора, толкоз. :D

Автор:  stefan63 [ Пон Окт 26, 2020 4:38 pm ]
Заглавие:  Re: Проблем с логика

74hc138
изходите- z0...z7


Имамe две комбинации от двоични числа:
000, 001, 010, 011, 100, 101, 110, 111
и другата:
0001, 0010, 0100, 1000, 0101, 1101, 1010, 1110
y0= inv(z0 & z4 & z5 )== 1/2 74hc20 , 1/3 74hc10
y1= inv(z1 & z6 & z7 ) == 1/2 74hc20 , 1/3 74hc10
y2=inv(z2 &z4 & z5 & z7) == 1/2 74hc20
y3=inv (z3 & z5 & z6 & z7)== 1/274hc20

Автор:  Н'бабане Гт'муан'га [ Пон Окт 26, 2020 4:53 pm ]
Заглавие:  Re: Проблем с логика

ps66 написа:
с декодер (74HC238 3->8) декодираш и изхода го подаваш (навързваш ги според желанията си) на енкодер (74HCT147 16->4) и имаш 3->4


Хмм... засега нещо такова май се очертава като най-атрактивната опция.
Мислех си дали няма някакво гениално решение с един чип (примерно 7-сегментен декодер ползван не както пише по книгите, или нещо друго от тоя сорт), ама...

Автор:  Desert Leo [ Пон Окт 26, 2020 5:04 pm ]
Заглавие:  Re: Проблем с логика

Един контролер в 14-пинов TSSOP върши същата работа.

Автор:  ToHu [ Пон Окт 26, 2020 5:25 pm ]
Заглавие:  Re: Проблем с логика

върти ми се нещо ама трябва да седна, реално двете поредици са еднакви, шифтнати на ляво ..., конкретно ако може да размениш таблицата на истинност ми се струва, че трябва да има и по-минимален начин.

Автор:  al_at [ Пон Окт 26, 2020 5:45 pm ]
Заглавие:  Re: Проблем с логика

Ако клиентът търпи малко разместване на битовете:

П.С. Много бързам, схемата е грешна, ще мисля още.

Прикачени файлове:
Clipboard01.jpg
Clipboard01.jpg [ 46.27 KiB | Прегледано 5073 пъти ]

Автор:  Desert Leo [ Пон Окт 26, 2020 5:53 pm ]
Заглавие:  Re: Проблем с логика

На шифт регистъра някой трябва да му подаде клок, а вероятно и OE/LE. С един дешифратор няма да стане, затова МК си е идеалното решение с няколко реда код. Ако е в QFN-16 4x4mm май ще заема по-малко място от TSSOP-14. И още нещо - ако възникне необходимост от добавяне/премахване на кодова комбинация, каква правим с твърдата логика (Бабане, де :) )?

Автор:  ToHu [ Пон Окт 26, 2020 5:56 pm ]
Заглавие:  Re: Проблем с логика

е шифта няма нужда да е динамичен,може да е харкоднат, сега тъкмосварих едносладко, да си доскова дърводелскатамаса и ще видя какво ми се върти....загубих си метричната рулетка та сега ми е малко зор ...

Автор:  TheHungry [ Пон Окт 26, 2020 10:52 pm ]
Заглавие:  Re: Проблем с логика

F0 = A B + B C + A C;
F1 = A B' + A' B C' + A C;
F2 = A B + A' B' C;
F3 = A B' + B' C';

Автор:  MYXATA [ Вто Окт 27, 2020 12:49 am ]
Заглавие:  Re: Проблем с логика

Н'бабане Гт'муан'га написа:
От няколко дни си блъскам главата над един сложен проблем...

Имам две комбинации от двоични числа:
000, 001, 010, 011, 100, 101, 110, 111
и другата:
0001, 0010, 0100, 1000, 0101, 1101, 1010, 1110

В идеалния случай както клиентът ми го е специфицирал, искам първата да поражда втората директно както са подред сега, обаче в краен случай изходните стойности може да се разместят.

Значи малко повече детайли: става въпрос за един вътрешен дистрибутор на клокове в система, който се управлява с външна комбинания за да укаже кои клокове трябва да се пускат. Понеже цялото нещо е изключително миниатюризирано, целта ми е да го направя с минимално количество логика и на всяка цена без долълнително програмируеми елементи (т.е. това изключва програмируеми логики, промове, микроконтролери)

Някакви предложения?


нбабане - ЕЕПРОМ с паралелен изход - адресите са ти условията, другото са ти числата записани в еепрома на съответните адреси.
чиста работа... :)

Автор:  Bai Ui [ Вто Окт 27, 2020 12:55 am ]
Заглавие:  Re: Проблем с логика

MYXATA написа:

нбабане - ЕЕПРОМ с паралелен изход - адресите са ти условията, другото са ти числата записани в еепрома на съответните адреси.
чиста работа... :)

aka LUT (нещо като Лакалут) Модерната ФПГА архитектура се базира на това.

Автор:  ToHu [ Вто Окт 27, 2020 2:13 am ]
Заглавие:  Re: Проблем с логика

Да де ама той не иска да записва чип доколкото разбирам, иначе еепрома си е класика.

Автор:  MYXATA [ Вто Окт 27, 2020 10:44 pm ]
Заглавие:  Re: Проблем с логика

ToHu написа:
Да де ама той не иска да записва чип доколкото разбирам, иначе еепрома си е класика.

да де - нбабането пак подхвърли въпрос почнаха да валят отговори кои полезни кои е... пък нбабането изчезна :)

с някаквък вид LUT независимо цплд или еепром/флаш/мрам/ферорам има свободата устройството да му бъде ре-конфигурируемо.
иначе с няколко нанда и мултиплексор аквото изрути на платкта това е - няма мърдане :)

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/