11678

Моделювання та мінімізація логічних функції в різних пакетах прикладних програм

Курсовая

Информатика, кибернетика и программирование

Використання електроніки в електроенергетиці, є досить розвинене. Майже усі технологічні процеси в галузі електроенергетики автоматизуються за допомогою змодельованих на ЕОМ процесів та схем. Найпоширеніше використання має алгебра логіки, яку далі розглянемо більш детальніше.

Украинкский

2014-06-10

1.39 MB

38 чел.

3

ЗМІСТ

Перелік скорочень ................................................................................................................4

Вступ ......................................................................................................................................5

  1.  Аналіз завдання та вибір методу синтезу .....................................................................6

1.1 Мінімізація логічних функцій на основі законів та аксіом алгебри логіки  .......6
1.2 Мінімізація логічних функцій за допомогою діаграм Вейча ...............................8
1.3 Приведення логічної функції до базису .................................................................9
1.4 Моделювання логічних схем за допомогою ЕОМ ..............................................10

   1.5 Реалізація логічних функцій за допомогою мультиплексора ............................10

  1.  Мінімізація логічних функцій .....................................................................................11
  2.  Мінімізація за законами алгебри логіки .................................................................11
  3.  Мінімізація за діаграмами Вейча ............................................................................11
  4.  Подання логічних функцій в базисах .........................................................................14
  5.  Приведення логічної функції до базису І-НІ .........................................................14
  6.  Приведення логічної функції до базису АБО-НІ ..................................................14
  7.  Побудова таблиць істинності ......................................................................................16
  8.  Синтез цифрових схем .................................................................................................17
  9.  Побудова комбінаційної схеми логічної функції ..................................................17
  10.  Побудова комбінаційної схеми мінімізованої логічної функції ..........................18
  11.  Побудова комбінаційної схеми в базисі І-НІ .........................................................18
  12.  Побудова комбінаційної схеми в базисі АБО-НІ ..................................................19
  13.  Моделювання роботи схем засобами ЕОМ ................................................................20
  14.  Аналіз особливостей моделювання в ППП ............................................................20
  15.  Моделювання схем логічних функцій в ППП........................................................21
    1.  Мінімізація за допомогою ППП «OrCAD» ......................................................21
    2.  Мінімізація за допомогою ППП «Proteus» …..................................................24
    3.  Мінімізація за допомогою ППП «Workbench» ................................................25
  16.  Визначення критичної частоти роботи схеми .......................................................26
  17.  Апаратна реалізація логічних функцій .......................................................................27
  18.  Приведення логічної функції до ДКНФ .................................................................28
  19.  Приведення логічної функції до ДДНФ .................................................................28
  20.  Реалізація логічної функції за допомогою мультиплексора ................................29
  21.  Розробка програми для моделювання режимів роботи схеми .................................31
  22.  Розробка алгоритму роботи програми ....................................................................31
  23.  Реалізація алгоритму ................................................................................................32
  24.  Тестування роботи програми ...................................................................................32
  25.  Аналіз результатів роботи ...........................................................................................33

Висновок ........................................................................................................................34

Додатки ..........................................................................................................................35

Перелік посилань

ПЕРЕЛІК СКОРОЧЕНЬ

В курсовій роботі присутні такі скорочення:

ЛФ – логічна функція

ППП – пакет прикладних програм

АЛ – алгебра логіки

MSмультиплексор

ДДНФ – досконала диз’юнктивна нормальна форма

ДКНФ – досконала кон’юнктивна нормальна форма

ВСТУП

    На даний час, неможливо уявити наше життя без електроніки. Вона використовується усюди, як на різних виробництвах, в галузі електроенергетики, так і у навчальному процесі.   

    Використання електроніки в електроенергетиці, є досить розвинене. Майже усі технологічні процеси в галузі електроенергетики автоматизуються за допомогою змодельованих на ЕОМ процесів та схем. Найпоширеніше використання має алгебра логіки, яку далі розглянемо більш детальніше.

    У курсовій роботі для моделювання логічних схем будуть використовуватись демонстраційні версії таких програм, як:

  1.  OrCAD
  2.  Workbench
  3.  Turbo Pascal v.7.1

    Та ліцензійні версії ППП:

  1.  Proteus 7.6 Pro
  2.  Microsoft Office Visio v.10
  3.  Microsoft Office Excel v.10

    Для графічного зображення комбінаційних схем логічних функцій буде використаний графічний редактор «Visio» пакету «Microsoft Office».

    Створюючи програму, яка моделює режими роботи логічних функцій, будем користуватись табличним редактором «Excel» та мовою програмування «VBA» («Visual Basik for Application») пакету «Microsoft Office».

    Додатково, для розробки програми приведення ЛФ до ДДНФ, буде використовуватись додаток комплеку для програмування мовою Pascal «Turbo Pascal».

  1.  АНАЛІЗ ЗАВДАННЯ ТА ВИБІР МЕТОДУ СИНТЕЗУ

    Відповідно до завдання, логічну функцію виду:     

                                          Y=X1X2X4+X1X2+X1X2X3+X2                           (1.1)                                                                потрібно мінімізувати двома методами, привести до спільних базисів, побудувати для неї таблицю істинності та часові діаграми, реалізувати засобами мультиплексора, розрахувати часові затримки на елементах, провести моделювання в пакетах прикладних програм (ППП) та створити програму, яка моделює роботу схеми.

    Є 6 основних методів мінімізації логічних функцій [1]:

  1.  Перший метод базується на основі аксіом та законів алгебри логіки.
  2.  Другий метод – на основі діаграм Вейча.
  3.  Третій метод – на основі використання карт Карно.
  4.  Четвертий метод – метод об’єднання та поглинання кубів.
  5.  П’ятий метод – метод Квайка Мак Класкі.
  6.  Шостий метод – Блейка – Порецького.

    Найпоширенішими та найбільш точними є перших два методи, тому, будем використовувати саме їх.

  1.  Мінімізація логічних функцій на основі законів та аксіом алгебри логіки

    Даний метод широко використовується на практиці для логічних функцій п’яти і більше аргументів.

    Недоліки даного  методу полягають в тому, що залежно від обраного закону чи аксіоми алгебри логіки, отриманий результат може відрізнятися від іншого результату, що отримується за іншим законом, при чому обидва результати будуть правильними.

    Аналізуючи вираз логічної функції (1.1), визначимо основні закони алгебри логіки, які будемо використовувати для мінімізації.

    Для групування та скорочення доданків логічної функції, використаєм такі закони:

  1.  Комутативний закон:

                                                   ,                                                      (1.2)  

                                                   += + .                                                    (1.3)

  1.  Асоціативний закон:   

                                        ,                                       (1.4)      

                                            +(+)=(+)+.                                           (1.5)

  1.  Закон універсальної множини:           

                                                       ,                                                            (1.6)     

                                                      + 1=1.                                                             (1.7)

  1.  Дистрибутивний закон:                                                                                        

                                        (+)=+,                                                    (1.9)   

                                 +( )=(+) (+) .                                              (1.10)

  1.  Закон поглинання:                                                                          

                                               +,                                                        (1.11)    

                                                x1(1+x2)=x1 .                                                         (1.12)

    Аксіоми алгебри логіки формуються із понять інверсії, диз’юнкціїї, кон’юнкції. За принципом дуальності логічні операції можна представити у вигляді 2-х випадків, які переходять один в інший, якщо одночасно змінити значення нуля на одиницю та операції логічних функцій множення на додавання.

    Для мінімізації логічного виразу будемо використовувати наступні аксіоми алгебри логіки:

1) =1;                      =0;                                                                                             (1.17)

2) ;               ;                                                                                       (1.18)

3) ;       ;                                                                         (1.19)

4) ;                 0+0=0;                                                                                         (1.20)

    Правильність результатів підтверджується за допомогою таблиць істинності.

    1.2 Мінімізація логічних функцій за допомогою діаграм Вейча. Побудова    таблиць істинності за діаграмою Вейча

    Даний метод використовується для мінімізації від одної до п’яти-шести з змінних. Діаграми Вейча мають вигляд спеціалізованих таблиць істинності, кількість комірок яких складає 2n, при чому кількість комірок такої таблиці відповідає кількості наборів аргументів функції.

    Набори в клітинках діаграми Дейча розташовані так, що два сусідніх набори відрізняються лише однією змінною. При такому розташуванні дані два набори можна «склеїти» (обєднати).

    В клітинках діаграми Вейча представляється значення функцій, які відповідають набору її значень. В діаграм в комірці записується значення «1», якщо функція на цьому наборі приймає значення «1». Нічого не записується, якщо функція приймає значення «0».

    Таким чином, діаграма Вейча, відповідно до кількості змінних, має вигляд, проілюстрований на рис 1.1.

Рисунок 1.1 – Діаграма Вейча для чотирьох змінних

     Основні правила мінімізації логічних функцій за допомогою  діаграми Вейча [2]:

  1.  «Склеювання» сусідніх комірок діаграми Вейча здійснюється контурами, які охоплюють комірок заповнених одиницями (сусідніми вважаються комірки, які відрізняються значенням лише однієї змінної).
  2.  Контури повинні мати прямокутну чи квадратну форму.
  3.   Одиниці об’єднуються одним чи кількома контурами (одна і та ж одиниця може входити до кількох контурів, але обов’язково має входити хоча б до одного контуру).
  4.   Контурами по можливості охоплюють щонайбільшу кількість одиниць на діаграмі Дейча. Після «склеювання» отримані області описуються відповідними виразами, в які входять лише ті змінні, які повністю характеризують всю область на діаграмі Вейча.
  5.  В мінімізовану функцію отримані вирази входять як окремі доданки. На діаграмі Вейча область з однієї клітинки кодується чотирма змінними, з двох – трьома, чотирьох – вісьма.

 1.3 Приведення логічної функції до базисів

    Логічна функція може бути приведена до базисів І-НІ чи АБО-НІ. Для цього використовуєм такі закони алгебри логіки:

  1.  Закон подвійної інвертації використовується для скорочення однойменних інверторів в приведенні ЛФ до базисів:

                                                      .                                                               (1.8)

  1.  Закон інерції (правило Де Моргана) використовується для приведення ЛФ до базису:                                      + ,                                                     (1.13)

                                                          ,                                                       (1.14)

                                                          ,                                                    (1.15)

                                                        += .                                                      (1.16)

  1.  Моделювання логічних функцій засобами ЕОМ

    Щоб виконати перевірку правильності мінімізації функції, виконаєм моделювання засобами ЕОМ, за допомогою таких ППП [3]:

    “Proteus” – пакет прикладних програм для автоматизованого проектування електронних схем. Пакет являє собою систему схемотехнічного моделювання, що базується на основі моделей електронних компонентів. Відмінною рисою пакета Proteus Professional є можливість моделювання роботи програмованих пристроїв. З даного пакету будем використовувати компонент «ISIS» для моделювання комбінаційних схем у базисах І-НІ та АБО-НІ.

    “OrCAD” - інтегроване програмне забезпечення, призначене для проектування радіоелектронних пристроїв. У даному пакеті використаємо складову «OrCAD Capture», в якій промоделюємо мінімізовану логічну функцію та визначимо затримки на кожному з елементів.

    “Workbench” - являє собою програмний продукт, що дозволяє реалізувати моделювання, тестування, розробку і налагодження електричних ланцюгів. Має досить простий інтерфейс користувача та містить у собі досить велику кількість моделей радіоелектронних пристроїв, а також дозволяє створювати користувачу свої моделі. За допомогою даного ППП буде промодельовано немінімізовану ЛФ.

    «Excel» - це один із найпотужніших табличних редакторів. Потрібен він для проведення розрахунків, складання таблиць і діаграм, обчислення простих і складних функцій за допомогою додатку VBA, яким і будем користуватись для створення програми.

  1.  Реалізація логічних функцій за допомогою мультиплексора

    Для того, щоб остаточно перевірити правильність мінімізації ЛФ, реалізуєм моделювання ЛФ за допомогою мультиплексора.

    Мультипле́ксори відносяться до пристроїв комутування цифрової інформації. Вони здійснюють комутацію одного з декількох інформаційних входів до одного виходу. Мультиплексори мають декілька інформаційних входів, адресні входи, вхід дозволу мультиплексування (стробовий вхід) та один вихід.

2  МІНІМІЗАЦІЯ ЛОГІЧНИХ ФУНКЦІЙ

    З метою спрощення логічних функцій використовуються методи мінімізації, з урахуванням практичної реалізації розв’язку математичної задачі.

    В курсовій роботі будуть використані наступні методи мінімізації:

  1.  метод мінімізації за законами алгебри логіки
  2.  метод мінімізації на основі діаграм Вейча

  1.   Мінімізація за законами та аксіомами алгебри логіки

    Даний метод широко використовується на практиці для логічних функцій п’яти і більше аргументів.

    Недоліки даного  методу полягають в тому, що залежно від обраного закону чи аксіоми алгебри логіки, отриманий результат може відрізнятися від іншого результату, що отримується за іншим законом, при чому обидва результати будуть вірними і остаточними.

    Проведемо мінімізацію логічної функції (1.1): 

    Відповідно до дистрибутивного закону алгебри логіки (1.9), спільні множники ми маєм право винести за дужки

                                         .

    Далі, згідно із законом поглинання (1.12), маємо:

                                                      .                                                    (2.1)

    В результаті, отримано мінімізовану логічну функцію із трьома зміними.

  1.     Мінімізація за діаграмами Вейча

    Діаграма Вейча – це таблиця, яка визначає існування логічної функції на всіх її тактах (див. рис 1.1).

    Для мінімізації за діаграмою Вейча здійснюється представлення логічної функції в комірках діаграми. Якщо функція є визначена на наборі змінних, то у відповідній комірці проставляється «1». Якщо значення функції є нульовим, то на діаграмі нічого не проставляється.

    Заповнимо діаграму Вейча, яка зображена на рис. 2.1, відповідно до логічної функції (1.1) :

Рисунок 2.1 – Заповнена діаграма Вейча

    Проведемо об’єднання контурів комірок діаграми, які заповнені одиницями. Контурами об’єднуються лише сусідні комірки. Сусідніми вважаються комірки, які відрізняються одною змінною. Контури в діаграмі Вейча повинні бути прямокутними. Кількись комірок, об’єднаних в один контур, визначається за виразом 2n (1, 2, 4, 8, 16, 32, 64). Кількість об’єднаних комірок має бути щонайбільшою. Усі комірки, заповнені одиницями, пвинні входити хоча б в один контур.

    Таким чином, заповнена діаграма Вейча, відповідно наявних зон, визначених аргументами функції (1.1) має вигляд, представлений на рис. 2.2

Рисунок 2.2 – Зони на діаграмі Вейча

    Кожен контур на діаграмі Вейча описується кон’юнкцією змінних в адетивній логічній моделі функції

                                                      .                                                   (2.2)

    Результуюча функція співпадає із функцією (2.1), отже, мінімізацію проведено правильно.

  1.  ПОДАННЯ ЛОГІЧНИХ ФУНКЦІЙ В БАЗИСАХ

    Логічний вираз мінімізованої функції може бути приведеним до базису І-НІ, або базису АБО-НІ за допомогою закону Де Моргана (1.12 – 1.15).

    При цьому остаточний вираз буде містити лише типові операції, а саме базиси І-НІ та АБО-НІ.

    В І-НІ логічна функція приводиться до вигляду, в якому присутня лише операція множення разом з операцією інвертування .

    В АБО-НІ функція повинна мати лише операцію логічного додавання разом з інверсією .

  1.    Приведення логічної функції до базису І-НІ

    Приведемо  логічну функцію       до базису І-НІ. Логічне додавання потрібно замінити логічним множенням. Для цього скористаємось правилом Де Моргана (див. моделі(1.13 – 1.16)).

    За правилом подвійної інвертації (1.8), проведемо подвійне інвертування логічної функції (2.1):

                                                           .

    За законом інверсій (1.14) проведемо розбиття нижього інвертора, змінюючи при цьому знак логічної функції з логічного додавання на логічне множення:

                                                           .                                                       (3.1)

    

  1.     Приведення логічної функції до базису АБО-НІ

    

    Приведемо логічну функцію    до базису АБО-НІ.

    Знак логічного множення потрібно замінити на протилежний , скориставшись правилом Де Моргана (див. моделі(1.13 – 1.16)). Насамперед, проінвертуємо двічі весь вираз логічної функції (2.1), скориставшись при цьому правилом подвійної інвертації (див. формулу(1.8)). Наступні дії будемо виконувати відповідно до наведених в розділі 1 аксіом та законів алгебри логіки.

                                                     .                                                 (3.2)

    Для отриманих функцій, приведених до базисів, буде проведено перевірку в розділі 4 (табл. 4.2).

  1.  ПОБУДОВА ТАБЛИЦЬ ІСТИННОСТІ

Для початку заповнення таблиці істинності, відповідно до номерів комірок в діаграмі Вейча, проставляєм в стовпчику Y (табл. А.1 дод. А) значення, які в комірках діаграми. Наприклад, значення для 2-го такту буде відповідати значенню, яке знаходиться в комірці діаграми Вейча (рис. 2.1) під другим номером. Отримані значення Y заносимо у таблицю А.1, що подана у додатку А.

    Після заповнення стовпчика Y, починаємо заповнювати стовпчик Y2,  для цього підставляємо значення х1, х2, х3, х4 в логічну функцію (2.1), яка була промінімізована двома методами.

    Наприклад,   візьмемо значення х1, х2, х3, х4  для  нульового такту та підставимо у нашу функцію: Y2=0*0+0*1=0.

    Отримане значення Y2=0 заносимо у таблицю А.1, що подана у додатку А. Аналогічно продовжуємо заповнювати стовпчик Y2.

    Після заповнення стовпчиків Y і Y2, порівнюємо їх між собою, якщо в результаті всі значення співпали, то таблиця істинності побудована вірно [4].

    Отримана таблиця істинності буде використана для перевірки правильності моделювання схем на ЕОМ.

    Проведемо перевірку ЛФ (3.1) та (3.2) у базисах таблиці істинності А.2, яка наведена у додатку А.

    Виконавши перевірку, бачимо, що значення логічної функції зпівпадає на всіх її тактах, а, отже, мінімізовані функції приведені до базисів І-НІ та АБО-НІ вірно.

  1.  СИНТЕЗ ЦИФРОВИХ СХЕМ

    За операторними представленнями функції, з врахуванням наявних логічних елементів, будують комбінаційну схему [5]. Комбінаційні схеми будуються на основі логічних операцій, зображених на рис. Б.1 дод. Б.

    Елементи, що використовуються  комбінаційних схемах, мають різну кількість входів. Обирається той елемент, який задовольняє відповідним вимогам. В комбінаційних схемах не мінімізованих чи мінімізованих функцій може використовуватися один з двох інвекторів на логіці І чи АБО.

     Приведення до базису функції здійснюється для загальної уніфікації логічного виразу. Реалізація функції в тому чи іншому базисі здійснюється відповідно на елементах, зображених на рис. 5 .

  1.  Побудова комбінаційної схеми логічної функції

    

    Комбінаційні схеми будуються на основі логічних елементів, представлених                   на рис. 5 .

    Для побудови схеми, відносно логічної функції (1.1), розберемо її за доданками:

    У першому доданку () присутний інвертор, тому перед операцією логічного множення ми проведемо інвертацію змінної Х3.  Другий () і       третій () доданки подаєм у вигляді простих кон’юнкторів. У четвертому доданку () інвертована змінна Х3 .

а)                          б)                         в)                         г)

Рисунок 5.1 – Логічни елементи: а)першого доданку; б)другого доданку; в) третього доданку; г)четвертого доданку;

    Проілюструвавши доданки, можемо скласти повну схему немінімізованої функції, яка наведена на рисунку Б.2, що у додатку Б.

    На побудованій схемі виконано перевірку для 0-го такту. Відповідно до таблиці істинності (див. табл. А.1 дод. А), значення співпадають.

  1.  Побудова комбінаційної схеми мінімізованої логічної функції

    Побудуєм схему до мінімізованої логічної функції (2.1).

    Відповідно до логічної функції (2.1), сигнал Х3 інвертований, тому ми подаєм його інвертованим на вході. Далі схема будується аналогічно до не мінімізованої логічної функції на вищепроілюстрованих логічних елементах. Логічна схема мінімізованої функції подана на рисунку Б.3, наведеному в додатку Б.

    Перевірку для комбінаційної схеми мінімізованої ЛФ виконано за нульовим тактом. Результат перевірки позитивний.

  1.    Побудова комбінаційної схеми в базисі І-НІ

    Для побудови схем в базисі І-НІ використовуються елементи з фіксованою кількістю входів І-НІ. Для даної схеми використовуємо один двовходовий       елемент І-НІ, проілюстрований на рис. 5.4 .

Рисунок 5.4 – Двовходовий елемент І-НІ

    Для реалізації інверсії в одному елементі закорочуються його входи, і на вхід подається лише один сигнал х3, на виході про інвертований . Або ж можна подати інвертований сигал на вході.

    Побудуємо схему за логічною функцією (3.1). Схема в базисі І-НІ представлена на рисунку Б.4, зображеному у додатку Б.

    За результатом перевірки по нульовому такту, бачим, що схема в базисі І-НІ побудована вірно.

     5.4    Побудова комбінаційної схеми в базисі АБО-НІ

     Для реалізації логічної функції у базисі АБО-НІ використовують елемент з фіксованою кількістю входів, проілюстрований на рис. 5.6. Для інверсії використовують цей же елемент, але із з’єднаними входами, або подають інвертований сигнал на вході.

Рисунок 5.6 – Елемент з фіксованою кількістю входів для базису І-НІ

    Подамо ці елементи на схемі, відповідно до логічної функції (3.2) на рисунку Б.5, проілюстрованому в додатку Б.

    Перевіримо схему на правильність побудови за нульовим тактом. Значення зміних на входах і виході співпадають із значеннями в таблиці істинності.

  1.  МОДЕЛЮВАННЯ РОБОТИ СХЕМ ЗАСОБАМИ ЕОМ

     В даному пункті буде проведено моделювання цифрових схем засобами  електричних обчислювальних машин за допомогою ППП, таких як: OrCAD, Proteus, WorkcBench. Дані ППП дозволяють виконати моделювання логічних схем без їх фізичної реалізації. Під час перевірки на правильність, результат може бути різним, залежно від рівня подання схеми в електронних обчислювальних машин.

  1.   Аналіз особливостей моделювання в ППП OrCAD, Workbench, Proteus

     В даному пункті виконаємо аналіз особливостей моделювання схем в ППП OrCAD, Proteus, WorkcBench.

     В ППП «Proteus» змоделюєм мінімізовану ЛФ в базисах І-НІ та АБО-НІ. Для побудування схеми в даному ППП будем використовувати: елементи «Nand» - елемент І-НІ та «Nor» - елемент АБО-НІ; «Parrent Generetor» - генератор сигналів та електронний осцилограф.

    За допомогою ППП «OrCAD» буде промодельовано мінімізовану ЛФ, з використанням вбудованих елементів та портів. По закінченню моделювання, отримаєм часову діаграму та визначимо затримки по тактах для кожного з елементів.

    ППП «Workbench» послужить для моделювання немінімізованої ЛФ, побудови таблиць істинності та часової діаграми за допомогою вбудованих додатків та стандартних елементів алгебри логіки.

    В результаті моделювання в кожному з ППП, отримаєм часові діаграми для перевірки правильності подання схеми та мінімізації ЛФ.

  1.   Моделювання схем логічної функції в ППП
    1.  Моделювання схеми мінімізованої функції засобами OrCAD

    Спочатку запускаємо модуль «Capture CIS»; після чого створюємо проект за допомогою подання команд  «File», вибираючи пункт «New»; далі вибираємо пункт «Project». Після чого у вікні «New Project» потрібно виставити параметр «PC Board Wizard» та вказати назву файла. В нижньому рядку даного вікна необхідно вказати посилання на директорію, де буде зберігатись даний проект, як показано на рис. 6.1 .

Рисунок 6.1 – Вікно нового проекту

     Далі, у новому вікні вибираємо пункт «Enable Project Simulation», після чого потрібно вибрати пункт «Add VHDLbases...» . В вікні, яке з’явилося, вибираємо бібліотеки «ttl.olb», перевівши їх в другу колонку за допомогою клавіші «Add»  і бібліотеку «ttl.vhb» аналогічним спобом.

     Після даної роботи з’явиться робочий лист, на якому потрібно розмістити схему мінімізованої функції (див. рис. 5.3), тобто робочі елементи, з’єднані провідниками. Робочі елементи вибираємо з бібліотек,  які відкриваємо в розділі «Place/Part», або натиснувши на кнопку «part», яка знаходиться в панелі інструментів. Крім цього, потрібно розставити вхідні і вихідні сигнали, які розташовані в розділі «Port». В даному випадку потрібно вибрати «PORTRIGHT-R» і «PORTLEFT-L». Після чого отримуємо схему, яка представлена на рис. 6.2.

Рисунок 6.2 – Схема мінімізованої ЛФ у ППП OrCAD

    Тепер моделюємо схему. Для цього вибираємо команду «Tools/Simulate» та вибираємо пункт «In Design». У вікні «New Integer» задаємо вхідні сигнали, тобто «Х». Подаємо на схему вхідні і вихідні сигнали за допомогою команди «New Wave Window» та запускаємо процес моделювання схем, активізуючи кнопку «Run», після чого можна спостерігпти за побудовою часової діаграми, зображеної на рис. 6.3 .

Рисунок 6.3 – Часова діаграма у ППП OrCAD

     Даний ППП дозволяє порахувати затримки на елементах. Затримки для перших восьми тактів, а також час затримок наведено в таблиці 6.1.

Таблиця 6.1 – Затримки на елементах

X1

X2

X3

Y2=X1*X2+X2*

Y (за діаграмою Вейча)

Затримки   часу (τ)

Затримки   часу (ns)

0

0

0

0

0*0+0*1=0

0

2 τ

20

1

0

0

0

0*0+0*1=0

0

2 τ

20

2

0

0

1

0*0+0*0=0

0

2 τ

20

3

0

0

1

0*0+0*0=0

0

2 τ

20

4

0

1

0

0*1+1*1=1

1

3 τ

35

5

0

1

0

0*1+1*1=1

1

3 τ

35

6

0

1

1

0*1+1*0=0

0

2 τ

20

7

0

1

1

0*1+1*0=0

0

2 τ

20


     Отримана часова діаграма (див. рис.
6.3) при заданих значеннях тривалості вхідних сигналів:

t1(X1) = 160 ns,
t1(X2) = 80 ns,

t1(X3) = 40 ns.

     В таблиці істинності (див. табл. 4.1) результат моделювання за таких значень вхідних сигналів наведено у колонці Y1. Промоделювавши схему для менших значень, отримаємо вихідні сигнали, які подано у таблиці 4.1. При цьому вихідні сигнали мають наступні значення:

t2(X1) = 80 ns,
t2(X2) = 40 ns,
t2(X3) = 20 ns.

    Часова діаграма, при неправильній роботі схеми зображена на рисунку 6.4.

Отже, порівнявши значення колонок Y та Y2, бачимо невідповідність, оскільки похибка накопичена схемою, перевищує тривалість вхідного сигналу.

Рисунок 6.4 – Часова діаграма схеми, що працює неправильно

    Визначимо мінімальне значення вхідного сигналу, при якому схема працює вірно.  Для цього поступово зменшуємо значення тривалості вхідних сигналів t1(Xn) та збільшуємо t2(Xn). Експерементальним шляхом встановлюємо, що мінімальні тривалості вхідних сигналів набувають наступних значень:

tmin(X1) = 140 ns,

 tmin(X2) = 70 ns,
tmin(X3) = 35 ns.     

    Проаналізувавши роботу схеми мінімізованої функції (2.1), що проілюстрована на рис. 6.2, відповідно до тактів таблиці істинності 6.1, можемо зробити висновок,  що похибки на диз’юнкторі та кон’юнкторі складають по 20 ns.

  1.  Моделювання схем в базисах І-НІ та АБО-НІ в Proteus

    Для моделювання схеми побудуємо схему в базисі І-НІ. У підменю «DEVISES» вибираємо потрібні елементи, які згодом розмістимо на робочому листі. Для реалізації базису І-НІ вибираємо елемент «NAND» та підключаємо необхідну їх кількість в схему. Після того, як елементи розташовані, з’єднаємо їх умовними провідниками. Далі під’єднуєм генератор сигналів «Pattern Generator». В нашому випадку Q0 відповідає X1, Q1-X2, Q2-X3, Q3-X4. Щоб побачити часову діаграму, на входах та виході встановимо на кожний провідник  індикатори величини потенціалів. Після чого схема для функції (3.1) матиме вигляд, як на рис. 6.4.

Рисунок 6.4 – Схема у базисі І-НІ

    Встановлюєм на схему генератор сигналів «Parrent Generator», під’єднуєм його до схеми та заускаєм за допомогою кнопки «Play» на панелі. Після запуску моделювання схеми призупиняємо його, натискаючи на кнопку «Pause», тоді у нас з’явиться вікно «VSM PATTERN GENERATOR», яке покаже чергу подачі імпульсів у вигляді пустих (0) і чорних (1) квадратиків. Для того щоб створити сигнали які будуть подаватись на схемі розставимо, за таблицею істинності, одиниці та нулі по тактах (рис. В.2)

     Далі відбувається моделювання графіка  часової діаграми. Для цього вибираєм пункт «Graph/Add Trace» - додати графік. В цьому ж підменю потрібно використати пункт «Simulate Graph», щоб зявилась змодельована часова діаграма (рис. В.3).

    Для моделювання схеми в базисі АБО – НІ використаєм той же алгоритм, що і для базису І-НІ, тільки міняєм схему, відповідно до функції (3.2) та використовуєм елемент «NOR». В результаті, отримуєм таку схему, як продемонстровано                        на рис. 6.5.

Рисунок 6.5 – Схема в базисі АБО-НІ

    Задаємо параметри вихідних сигналів, так як і для базису І – НІ (див. рис. В.2), задаєм імпульси на виході генератора генератора (рис. В.4) та моделюєм часову діаграму (рис. В.5).

  1.  Моделювання схеми не мінімізованої функції в середовищі Workbench

    Для початку роботи з|із| програмним пакетом необхідно завантажити систему, створити новий проект та зберегти його назву. Побудову схеми здійснюєм у  3 етапи: вибираєм потрібні нам елементи з панелей «Logic Gates» і «Instruments», розміщуєм за допомогою перетаскування курсором їх на робочому листі і встановлюєм електричні зв'язки між розміщеними елементами за допомогою умовних провідників (рис. В.6).

    Як тільки схема буде готова, потрібно створити таблицю істинності. Для перетворення схеми в таблицю істинності необхідно 2 рази клацнути мишкою на логічному перетворювачі й вибрати пункт для перетворення схеми в таблицю істинності , в результаті чого програма побудує нам таблицю істинності, відповідно до схеми (рис. В.7).

    Для побудови часових діаграм будем використовувати логічний аналізатор. Для цього активізуєм його.

     Після цього необхідно натиснути|натискуйте| на кнопку включення|приєднання| живлення|харчування| на панелі інструментів. З’явиться вікно, в якому буде отримана часова діаграма промодельованої ЛФ, як зображено на рис. В.8.

  1.  Визначення критичної частоти роботи схеми

    Критичну частоту роботи схеми будем експериментально визначати у ППП «Proteus». Для цього потрібно відкрити вікно параметрів генератора «Parrent Generator», клацнувши на ньому двічі. У радку «Clock Rate» виставляєм значення 50Hz, що відповідає промисловій частоті електроустановок. Перевівши частоту в наносекунди, отримаєм період, що дорівнює 16000 наносекунд. У рядку «Reset Rate» записується частота затримок. Прописуєм будь-яку частоту і перевіряєм схему на правильність роботи. Для цього вмикаєм її за допомогою кнопки «Play» на панелі. Якщо індикатори біля кожного з елементів змінюють свій колір, значить схема працює. Для перевірки правильності визначення затримки, відкриваєм вікно графіків та «лінією перевірки» визначаєм, чи нема відхилень між змінами значень у графіках вхідного та результуючого сигналів. Якщо відхилення є, то повторюєм дії до того часу, коли між діаграмами відхилення не  буде.

    У ліцензійній версії ППП «Proteus» є додаток, що автоматично визначає затримку та її частоту, тому експериментально визначати нема сенсу.
    Для схем у базисах І-НІ та АБО-НІ (див. рис. 6.4, рис. 6.5) визначено затримку в 20 наносекунд, а частота цих затримок на вихідному сигналі рівна
5Hz, як показано на рис. Е.2 .

  1.  АПАРАТНА РЕАЛІЗАЦІЯ ЛОГІЧНИХ ФУНКЦІЙ

    В даному розділі розглянем приведення логічної функції до ДДНФ та ДКНФ, а також її реалізацію за допомогою мультиплексора.

    Довільна логічна функція може бути приведена до досконалої нормальної форми за допомогою таких кроків:

  1.  Усі логічні зв'язки виразити через кон'юнкцію, диз'юнкцію і заперечення.
  2.  Скасувати всі подвійні заперечення і використати, де можливо, закони де Моргана.
  3.  Використати де можливо дистрибутивність кон'юнкції

    Є два методи приведення логічної функції до досконалої нормальної форми:

  1.  Метод «розгортання» функції
  2.  Метод таблиць істинності

В курсовій роботі будем використовувати метод таблиць.

    Методи, які дають змогу для будь-якої логічної функції записати логічний вираз, ґрунтуються на тому, що вводяться вирази певного типу - канонічні форми, а потім формуються досить прості правила запису будь-якої функції у цих формах. Як канонічні звичайно використовуються досконалі диз’юнктивна та кон’юнктивна нормальні форми (ДДНФ і ДКНФ).

   Побудуємо таблицю істинності для мінімізованої функції (табл. 7.1).

Таблиця 7.1 – Таблиця істиності для мінімізованої функції

Х1

Х2

Х3

У

0

0

0

0

0

1

0

0

1

0

2

0

1

0

1

3

0

1

1

0

4

1

0

0

0

5

1

0

1

0

6

1

1

0

1

7

1

1

1

1

  1.  Приведення логічної функції до досконало-кон’юнктивної нормальної форми

    Досконала кон’юнктивна форма логічних функцій – це добуток елементарних сум. ДКНФ логічної функції називається добуток різних елементарних п-місних сум [6].

    Щоб отримати ДКНФ, потрібно записати кон'юнкцію наборів аргументів, при яких значення функції дорівнює 0. Набори представляють собою диз'юнкції аргументів, причому, якщо значення аргументу дорівнює 1, береться його інверсія. Диз’юнкція елементів являє собою логічну суму будь-якої кількості різних незалежних змінних, що входять із запереченням або без нього.

    ДКНФ має такі властивості:

  1.  в ній немає двох однакових співмножників;
  2.  жоден зі співмножників не містить двох однакових доданків;
  3.  жоден зі співмножників не містить якої-небудь змінної разом з її запереченням;

    Відповідно до табл. 7.1, функція набуває занчень «0» на 0,1,3,4,5 наборах значень змінних, і буде мати вигляд:                                                                                                   Y= .   (7.3)

  1.  Приведення логічної функції до досконало-диз’юнктивної нормальної форми

    Формулу алгебри логіки, зображену у вигляді суми елементарних добутків, називатимемо диз’юнктивно нормальною формою [7]. ДДНФ – це сума різних елементарних добутків n-змінних.

    Будь-яка логічна функція, за виключенням константи «0», має одну ДДНФ і кілька ДНФ. Будь-яка ДНФ утворюється внаслідок більшого або меншого скорочення ДДНФ, причому від будь-якої ДНФ можна перейти до ДДНФ. Такий перехід називається «розгортанням».

    ДДНФ має такі характерні риси:

  1.  Кожен доданок містить п різних множників;
  2.  Кожен множник є змінною або її запереченням;
  3.  Жодний доданок не містить змінної разом з її запереченням;
  4.  Немає двох однакових доданків.

    Щоб отримати досконалу диз'юнктівную нормальну форму (ДДНФ) необхідно записати диз'юнкцію наборів аргументів, при яких значення функції дорівнює 1. Набори представляють собою кон'юнкції аргументів, причому, якщо значення аргументу дорівнює 0, то береться його інверсія. Тобто, ДДНФ має стільки доданків у вигляді елементарних кон’юнкцій, скільки одиниць є в стовпці функції.

    Відповідно до табл. 7.1, функція набуває значення «1» тільки для трьох наборів значень змінних: (0,1,0),(1,1,0) і (1,1,1). Отже, сума цих трьох елементарних добутків дає шукане представлення заданої функції:                                                                       

                               Y=.                              (7.2)

    Також наведем текст програми для приведення логічної функції до ДДНФ при наявноті таблиці істинності на рис. Е.1 .

  1.  Реалізація логічної функції за допомогою мультиплексора

Mультиплексор - пристрій, що має кілька сигнальних входів, один або більше керуючих входів і один вихід та дозволяє передати сигнал з одного з входів на вихід; при цьому вибір бажаного входу здійснюється подачею відповідної комбінації керуючих сигналів [8] (рис. Г.4).

Для перетворення достатньо подати на інформаційні входи мультиплексора паралельний двійковий код, а сигнали на адресні входи подавати в такій послідовності, щоб до виходу по черзі підключалися входи, починаючи з першого і закінчуючи останнім.

     Перед початком побудови схеми потрібно провести підготовчу роботу, тобто скласти таблицю істинності, а за нею функцію для мультиплексора. Таблиця істиннності для мультиплексора подана у табл. 7.2.

 Таблиця 7.2 – Таблиця істинності для MS

А1

А2

А3

В

Yмін

0

0

0

0

В0

0

1

0

0

1

В1

0

2

0

1

0

В2

1

3

0

1

1

В3

0

4

1

0

0

В4

0

5

1

0

1

В5

0

6

1

1

0

В6

1

7

1

1

1

В7

1

Відповідно до таблиці, шляхом диз’юнкції значень, отримуєм функцію (7.2).

Дана функція відповідає мультиплексору із трьома адресними входами, схема якого зображена на рис. Г.4 .

Реалізацію логічної функції за допомогою мультиплексора будем проводити у ліцензійному ППП «Proteus 7.6 Pro». Спочатку добавляєм на робочий лист генератор сигналів «PATTERN GENERETOR», в якому виставляєм сигнали , як на рис. Г.1 . Так як на «Q0» потрібно подати нуль, а на «Q1» - одиницю, заповнюємо відповідні рядки повністю нюлями та одиницями. Далі, в меню пошуку елементів вводимо «meltiplexеrs» і вибираєм «74НС151». Це і є мультиплексор для мінімізованої логічної функції.

На позначені адресні входи «А», «B», «C», що відповідають змінним «Х1», «Х2», «Х3», відповідно, подаєм живлення від зажимів «Q2», «Q3», «Q4». Інформаційні входи «X1», «X2» ... «X7» об’єднуєм в дві групи – «одиниці» та «нулі», і подаєм до них живлення із зажимів генератора «Q0» та «Q1». Залишаеться ще стабілізуючий вхід «Е» - його підключаєм до виводу генератора «CASCADE». На адресних входах мультиплексора та виході «У» проставляєм потенціальні датчики. В результаті маєм схему, зображену на рис. Г.2 .

Далі, в підменю «Діаграма», виберем «DIGITAL ANALYSIS» і додамо значення потенціальних датчиків для побудови часової діаграми. В результаті отримаєм діаграму, зображену на рис. Г.3 .

  1.  РОЗРОБКА ПРОГРАМИ ДЛЯ МОДЕЛЮВАННЯ РЕЖИМІВ РОБОТИ СХЕМИ

В даному розділі буде розглянуто створення програми на мові VBA для розрахунку режимів роботи комбінаційних схем та схем в базисах І-НІ та АБО-НІ. Для створення програми буде побудовано алгоритм в блок-схемах, написано текст програми у вікні «Visual Basik for Aplications». Далі протестуємо роботу програми, запустивши її із даними для 10-го такту.

    8.1 Розробка алгоритму роботи програми

    Алгоритм - це, послідовність, система, набір систематизованих правил виконання обчислювального процесу, що обов'язково приводить до розв'язання певного класу задач після скінченного числа операцій [9]. При написанні комп'ютерних програм алгоритм описує логічну послідовність операцій.

    Залежно від послідовності дій розрізняють наступні типи алгоритмів:       Лінійний алгоритм – це такий алгоритм в якому дії виконуються в порядку їх запису без пропусків від початку до кінця без розгалуження. Розгалужений – це такий алгоритм в якому послідовність дій може змінюватися залежно від виконання чи невиконання деякої умови розгалуження.        

    Циклічний – це такий алгоритм в якому деяка група дій виконується багаторазово (має повторювані дії).

    Зобразимо алгоритм нашої програми макросу на рис. Д.1.

    Даний алгоритм створений для подальшої розробки програми на мові Visual Basic for Applications, для моніторингу результатів розрахунку засобами функцій Excel.    

   Алгоритм містить в собі такі блок-схеми, які наведені у таблиці Д.8.

    8.2 Програмна реалізація алгоритму

    За побудованим алгоритмом (поданим у розділі 8.1) складемо програму розрахунку на мові Visual Basic for Applications [10].

    Програма повина зчитувати дані з робочого листа Excel, для цього побудуємо таблицю вхідних та вихідних даних, зображену на рис. Д.2 .

    Наступна дія - написання програми на мові VBA за циклічниим алгоритмом, текст якої зображено на рис. Д.3 та програми розрахунку логічного виразу на мові VBA, яка наведена на рис. Д.4.

    Далі створимо кнопку для запуску програми. Для цього за допомогою стандартних форм рисунків створюєм макет кнопки, далі напишем програму, яка прив’яже кнопку до нашої програми. Програма кнопки зображена на рис. Д.5 .

     Опишемо принцип роботи програми, яка представлена на рис. 8.2, що відображає моніторинг функціональності логічної схеми та охарактеризуємо основні оператори в табл. Д.9.

    8.3 Тестування роботи програми

Проведемо запуск циклічної програми «Sub Программа» за допомогою нажимання на кнопку «Запуск». Послідовність дій проілюстровано на рис. Д.6 .

Будем виконувати дії в такій послідовності:

  1.  Задамо діапазон вхідних даних.
  2.  Задаємо діапазон вихідних значень.
  3.  Задаємо такт для перевірки.
  4.  Отримуємо результат який згідно з таблиці істинності має справджуватися, програма видає значення «True», отже, програма записана вірно.

    Далі запустимо програму «Sub Расчет» та будем проглядати результати роботи програми, як показано на рис. Д.7 .

    Отже, з перевірки, взятої по 10 такті, видно, що програма виконується, а це свідчить про правильність записання програми «Sub Расчет».

9 АНАЛІЗ РЕЗУЛЬТАТІВ РОБОТИ

    В курсовій роботі було розглянуто мінімізацію логічних функцій за допомогою законів та аксіом алгебри логіки. Для мінімізації за даним методом використано дистрибутивний (1.7), комунікативний (1.2) закони та закони поглинання (1.11), універсальної множини (1.6). Також, як альтернативний метод використано метод мінімізації за діаграмами Вейча. Логічні функції , мінімізовані двома методами, зійшлись, отже, мінімізацію проведено вірно.

    Приведено логічні функції до базисів І – НІ та АБО – НІ. В даних приведеннях для перетворення застосовано правило Де Моргана (1.13-1.16) та закон подвійної інверсії (1.8). Також окремо розібрано побудову таблиці істинності та синтез цифрових схем. Проведено перевірку для кожної з комбінаційних схем по нульовому такту, результат якої задовільний. Перевірка була здійснена шляхом підстановки змінних на входи елементів схеми, а результат отримували на виході кінцевого елемента.

    Попередні дії були необхідні для моделювання логічних функцій в пакетах прикладних програм. Зокрема моделювання виконано в таких ППП: Proteus, WorkBench, OrCAD. В середовищі Proteus виконано моделювання логічних функцій в базисах (див. рис. В.1-В.5). В ППП WorkBench було змодельовано задану логічну функцію (див. рис. В.6-В.8). В середовищі OrCAD проведено реалізацію мінімізованої логічної функції (див. рис. 6.1-6.3). Результатом моделювання в ППП було відображення часових діаграм, за якими проведено перевірку правильності побудування схем та мінімізації ЛФ. Було пораховано затримки на тактах часової діаграми, в результаті чого встановлено, що затримка рівна 20ns.

    Виконано приведення логічної функції до ДКНФ і ДДНФ. Дане приведення було здійснено табличним методом та за допомогою ППП «Turbo Pascal» (див. рис. Е.1), в результаті чого отримано досконалі форми логічної функції.

    Проведено реалізацію логічної функції за допомогою мультиплексора. Побудовано схему підключення для мультиплексора (див. рис. Г.1-Г.4). Використання мультиплексора потрібно було для перевірки мінімізованої ЛФ за часовою діаграмою.

    Створено програму моделювання режимів роботи схем (див. рис. Д.1-Д.7). В даній частині курсової роботи використано середовище Microsoft Excel та Visual Basic for Applications, а саме було створено програму розрахунку та макрос, побудовано алгоритм реалізації роботи програми у блок-схемах (див. рис. Д.1). Програма дозволила переглянути усі режими роботи схеми, не будуючи їх вручну.

ВИСНОВОК

За час виконання курсової роботи я навчився багатьом методам мінімізації, і дійшов висновку, що кращим є метод мінімізації за законами алгебри логіки. Також було глибоко розглянуто роботу мультиплексора та досконалих нормальних форм логічної функції.

В курсовій проведено моделювання та мінімізація логічних функції в різних пакетах прикладних програм. На мою думку, ППП «OrCAD» є найкращим предстаником в роді програм для моделювання друкованих плат.

Хочу зазначити, що енергетика також йде в ногу з часом, так як будь-які процеси можливо змоделювати та запрограмувати на обчислення за допомогою таких середовищ програмування : «VBA» (Visual Basik for Aplication) та «Turbo Pascal» , як це наведено у розділах 7 та 8.

     Результатом курсової роботи є повністю та глибоко проаналізована задана логічна функція.

ДОДАТКИ

Додаток А – Побудова таблиць істинності

Таблиця А.1 - Таблиця істинності для мінімізованої функції та за діаграмою Вейча

X1

X2

X3

X4

Y2=X1*X2+X2*

Y(за діаграмою Вейча)

0

0

0

0

0

0*0+0*1=0

0

1

0

0

0

1

0*0+0*1=0

0

2

0

0

1

0

0*0+0*0=0

0

3

0

0

1

1

0*0+0*0=0

0

4

0

1

0

0

0*1+1*1=1

1

5

0

1

0

1

0*1+1*1=1

1

6

0

1

1

0

0*1+1*0=0

0

7

0

1

1

1

0*1+1*0=0

0

8

1

0

0

0

1*0+0*1=0

0

9

1

0

0

1

1*0+0*1=0

0

10

1

0

1

0

1*0+0*0=0

0

11

1

0

1

1

1*0+0*0=0

0

12

1

1

0

0

1*1+1*1=1

1

13

1

1

0

1

1*1+1*1=1

1

14

1

1

1

0

1*1+1*0=1

1

15

1

1

1

1

1*1+1*0=1

1

Таблиця А.2 – Перевірка правильності логічних виразів у базисах

Базис І-НІ

Базис АБО-НІ

X1

X2

X3

X4

Y=

Y=

Y1

0

0

0

0

0

0

1

0

0

0

1

0

2

0

0

1

0

0

3

0

0

1

1

0

4

0

1

0

0

1

5

0

1

0

1

1

6

0

1

1

0

0

7

0

1

1

1

0

8

1

0

0

0

0

0

9

1

0

0

1

0

10

1

0

1

0

0

0

11

1

0

1

1

0

12

1

1

0

0

1

13

1

1

0

1

1

1

14

1

1

1

0

1

1

15

1

1

1

1

1

1

Додаток Б – Побудова комбінаційних схем

                  

                                   а)                                                                             б)

                 

                                  в)                                                                               г)

                                              

                                   д)                                                                               е)

Рисунок Б.1 – Основні логічні елементи: а) Кон’юнктор – елемент логічного множення ; б) Інвертор на базі кон’юнктора ; в) Диз’юнктор – елемент логічного додавання ; г) Інвертор на базі диз’юнктора ; д)елемент І-НІ ; е)елемент АБО-НІ;

Рисунок Б.2 – Схема не мінімізованої логічної функції

Рисунок Б.3 – Схема мінімізованої логічної функції

Рисунок Б.4 – Схема в базисі І-НІ

Рисунок 5.7 – Схема в базисі АБО-НІ

Додаток В – Моделювання схем у ППП

Рисунок В.1 – Параметри частоти та затримки генератора в ппп Proteus

Рисунок В.2 – Параметри генератора для базису І-НІ в ппп Proteus

Рисунок В.3 – Часова діаграма для базису І-НІ в ппп Proteus

Рисунок В.4 – Параметри генератора для базису АБО-НІ в ппп Proteus

Рисунок В.5 – Часова діаграма для базису АБО-НІ в ппп Proteus

Рисунок В.6 – Схема немінімізованої ЛФ в ППП Workbench

Рисунок В.7 – Таблиця істинності в ппп Workbench

Рисунок В.8 – Часова діаграма в ппп Workbench

Додаток Г – Моделювання схеми мультиплексора

Рисунок Г.1 – Гнератор сигналів для мультиплексора

Рисунок Г.2 – Схема реалізації мультиплексора в ППП «Proteus»

Рисунок Г.3 – Часова діаграма мінімізованої ЛФ, реалізованої за допомогою мультиплексора

Рисунок Г.4 – Схема мультиплексора

Додаток Д – Створення програми у VBA

Рисунок Д.1 – Алгоритм програми у блок-схемах

Рисунок Д.2 – Представлення логічних функцій в електронній таблиці MS Excel

Рисунок Д.3 Програма на мові VBA для моніторингу результатів розрахунку засобами функцій Excel 

Рисунок Д.4  – Програма розрахунку логічного виразу на мові Visual Basic for Applications

Рисунок Д.5 – Програма прив’язки кнопки на робочому листі

 

а)                                                                                                 б)

                                          

в)                                                                                                 г)

Рисунок Д.6 – Перевірка роботи програми за циклом:

а)Введення діапазону вхідних данних;  б) Введення діапазону вихідних данних;  в)Значення змінних на окремому такті;   г)Результат роботи програми.

                 

а)                                                                                                       б)

                          

в)                                                 г)                                                 д)

Рисунок Д.7 – Перевірка роботи програми «Sub Расчет» :

а) введення такту;  б) вигляд функція; в) мінімізована функція;                                г)функція в базисі І – НІ; д)функція в базисі АБО – НІ.

Таблиця Д.8 – Значкення блоків

Таблиця Д.9 – Опис програми

«Sub Програма ()»

початок та назва програми

«G»

діапазон вхідних даних,  "B1:Q4"

«F»

діапазон вихідних даних, "B12:Q12"

«xc»

значення змінних на окремому такті, з яким мають порівнюватися відповідні колонки «i», та рядки «j»

«mxc = Split(xc, ";")»

функція, що дозволяє записати значення такту, який вводить користувач в одновимірний масив

«r»

одновимірний масив, який порівнюється

«i=1»

вибір першого стовпця з таблиці, далі порівняння продовжується по рядках j

«pn = CInt(mxc(j - 1))»

забезпечує початок порівняння не з «о», а з «j – 1» рядка

«If (p <> k)»

умова внутрішнього масиву, якщо вона виконується то «t = t + 1», якщо ні – «Next j», переходимо до наступного рядка. Пребравши всі рядки стовпця і порівнявши їх зі значеннями одновимірного масиву переходимо до умови «t=0», якщо умова виконується, тобто значення відповідних рядків співпадають, тоді m=1 і переходимо до наступного стовпця і виводимо результати «MsgBox Range(F).Cells(1, i - 1)».
У випадку, не виконання умови, тобто t≠0, переходимо до наступного стовпця

«End Sub»

кінець програми

Додаток Е – Створення програми для приведення ЛФ до ДДНФ

а)

 

б)

в)

г)

Рисунок Е.1 – а) текст програми ДДНФ; б) вікно введення кількості змінних;                     в) введення змінних по тактах; г) результат – приведена до ДДНФ логічна функція

Рисунок Е.2 – Автоматичне визначення затримок у ППП «Proteus»


 

А также другие работы, которые могут Вас заинтересовать

33901. Внешнеполитическая деятельность СССР в 50-х – начале 60-х гг.: отношения с развивающимися государствами 36.5 KB
  Внешнеполитическая деятельность СССР в 50х – начале 60х гг. СССР оказывает экономическую помощь странам 3го мира. успех СССР в мире Женевская конференция в 1954 и 1955. СССР оказывает экономическую помощь странам 3го мира.
33902. Относительные величины, используемые в статистической практике 23.61 KB
  Относительная величина структуры ОВС характеризует структуру совокупности определяет долю удельный вес части в общем объеме совокупности. ОВС рассчитывают как отношение объема части совокупности к абсолютной величине всей совокупности определяя тем самым удельный вес части в общем объеме совокупности : Относительная величина координации ОВК – отношение одной части совокупности к другой ее части; показываетсколько единиц части стоящих в числителе формулы приходится на единицу другой части находящейся в знаменателе....
33903. Общее представление о статистических таблицах 12.38 KB
  По внешнему виду статистическая таблица представляет собой ряд пересекающихся горизонтальных и вертикальных линий образующих по горизонтали строки а по вертикали – графы столбцы колонки которые в совокупности составляют как бы скелет таблицы. В образовавшиеся внутри таблицы клетки записывается информация. Составленную таблицу принято называть макетом таблицы. Подлежащее таблицы показывает о каком явлении идет речь в таблице и представляет собой группы и подгруппы которые характеризуются рядом показателей.
33904. Виды статистических таблиц. (Статистические таблицы. Виды таблиц. Подлежащее и сказуемое в таблицах) 11.49 KB
  Статистические таблицы. Основными элементами статистической таблицы являются подлежащее и сказуемое таблицы. Подлежащее таблицы это объект статистического изучения то есть отдельные единицы совокупности их группы или вся совокупность в целом. Сказуемое таблицы это статистические показатели характеризующие изучаемый объект.
33905. Основные правила построения статистических таблиц 11.5 KB
  Таблицы состоят из элементов: 1Нумерационный заголовок 2Тематические заголовки 3Заголовки и подзаголовки граф. Основными элементами статистической таблицы являются подлежащее и сказуемое таблицы. Подлежащее таблицы это объект статистического изучения то есть отдельные единицы совокупности их группы или вся совокупность в целом. Сказуемое таблицы это статистические показатели характеризующие изучаемый объект.
33906. Виды статистических графиков 11.89 KB
  Линейные диаграммы строятся в системе координат по оси х откладываются отрезки соответствующие датам или периодам времени а по оси Y откладываются уровни ряда динамики или темпы их изменения. Линейные диаграммы применяются для характеристики оценки выполнения плана. Столбиковые диаграммы имеют одинаковое основание по оси х а высота их равна числовым значениям уровней признаков. Столбиковые диаграммы используются для сравнения по тер.
33907. Сущность средней величины и условия ее применения 11.19 KB
  Статистической совокупности. Средняя величина только тогда будет отражать типичный уровень признака когда она рассчитана по качественно-однородной совокупности.
33908. Средняя арифметическая и ее свойства 15.55 KB
  Средняя арифметическая и ее свойства. В статистической практике из всех видов средних чаще всего используется средняя арифметическая. Средняя арифметическая обладает некоторыми свойствами которые определяют ее широкое применение в экономических расчетах и в практике статистического исследования. Средняя арифметическая постоянной величины равна этой постоянной.
33909. Средняя хронологическая 12.86 KB
  Средняя величина- обобщающая характеристика варьирующего признака ед.статистической совокупности. Сущность средней заключается в том, что в ней взаимопогашаются отклонения значений признака отдельных ед.совокупности, обусловленных действиями случайных факторов, и учитываются изменения, возможные действия основных факторов.