Тема: Мінімізація логічних функцій

Коли ви розробляєте якийсь пристрій, як ви мінімалізуєте логічні функції ? Існує якийсь комплекс програм для цього чи все таки вручну ? І чи взагалі ви їх мінімізуєте, можливо це актуально тільки при створені контролерів і процесорів (де мінімізація ЛФ суттєво впливає на розміри і ціну пристрою) ?

2

Re: Мінімізація логічних функцій

Колись, коли пристрої були на півсотню мікросхем-аналогів серій 74LS/74S (і то враховуючи, що автомат повільної частини зроблено на двох PROM 256x4bit), то все вручну. Мінімізація де з картами Карно, де з таблицею переходів автомата і зливанням рядків у ній. Де, як в «історії одного байту», просто медитуючи, бо там треба, наприклад, вкласти всю логіку в один шар заради швидкості, і там оптимізувалася не просто логіка, а в сукупності з тригерами, з вибором де поставити JK, де D, а де взагалі у якомусь такті притримати тригер за reset (при нормальній роботі ні на що не впливає, бо тригер і так в 0 кілька тактів підряд, а після ввімкнення швидко виводить у дозволений стан без замішування у логіку на входах J/K/D).

А потім разом із ускладненням розроблюваних мною пристроїв я дотягнувся до всякого такого типу iPLD610/EP610 і там вже PLDShell синтезував, часто мінімізації ніякої і не треба було, бо туди просто ДНФ записувалися (гляньте figure 3 в pdf на iPLD610).

Зараз або всі ці FPGA/PLD і все синтезує фірмовий софт, або щось таке просте, що не потребує мінімізації.

printf("Nested comments is %s\n", */*/**/"*/"/*"/**/ == '*' ? "OFF" : "ON");
Подякували: 0x9111A, leofun01, Betterthanyou3

3

Re: Мінімізація логічних функцій

У своїй роботі з ПЛІС мінімізацію використовую звичайно (вище згадали), але що більш важливо це усунення гонок сигналів. Для цього є вбудовані інструменти як симулятор, бенчмарк і тест-Бенч. Для перевірки на живому прикладі використовується цифровий аналізатор і цифровий осцилограф.

мінімізація ЛФ суттєво впливає на розміри і ...

не впливає. Корпус як був один, так і залишився. Алгоритм так, опосередковано може впливати на ціну = час розробника.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог
Подякували: Betterthanyou1