1 of 26

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

Сергій Іванець

Sergey.Ivanets@gmail.com

2 of 26

План лекції

  • 1. Аксіоми алгебри логіки.
  • 2. Теореми про функції однієї змінної.
  • 3. Теореми про функції двох змінних.
  • 4. Логічні функції двох змінних.
  • Література до лекції: Уэйкерли, с. 237-250
  • Харрис, с. 145-171
  • Уилкинсон, с. 51-79
  • Янсен, с. 58-108
  • Verilog and SystemVerilog Gotchas: 101 Common Coding Errors and How to Avoid Them by Stuart Sutherland, Don Mills

2

2023-02-14

3 of 26

Аксіоми алгебри логіки.

3

2023-02-14

4 of 26

Коротка історична довідка

  • Джордж Буль в 1854 вводить двозначну систему алгебри. Нині вона називається також булевою алгеброю.
  • Клод Шеннон в 1938 показав, як використовувати булеву алгебру для аналізу схем, побудованих на реле.

4

2023-02-14

5 of 26

Цифрова абстракція.

  • Х може приймати лише два значення.
  • Х=0, якщо Х≠1
  • Х=1, якщо Х≠0

5

2023-02-14

6 of 26

Заперечення, інверсія (НІ, NOT)

  •  

6

2023-02-14

X

Y

0

1

1

0

7 of 26

74хх04

7

2023-02-14

8 of 26

8

2023-02-14

9 of 26

Часові діаграми без врахування затримок

{ signal: [

{ name: 'X', wave: '0.1..0.' },

{ name: 'Y', wave: '1.0..1.' }]

}

{ signal: [

{ name: 'X', wave: 'l.h..l.' },

{ name: 'Y', wave: 'h.l..h.' }]

}

9

2023-02-14

10 of 26

Часові діаграми з урахуванням затримок

10

2023-02-14

11 of 26

Verilog (LRM-2005, 5.1.9, 5.1.10)

  • ! – логічний (logic, not operator) оператор.
  • Унарний оператор, тобто має лише один аргумент і повертає один біт.

data = 1’b0; ! data = 1’b1

data = 1’b1; ! data = 1’b0

data = 3’b100; ! data = 1’b0

data = 3’b000; ! data = 1’b1

  • ~ - побітовий (bitwise, invert operator) оператор
  • Побітовий оператор, інвертує кожен окремий біт і повертає результат такої довжини як і аргумент

data = 1’b0; ~ data = 1’b1

data = 1’b1; ~ data = 1’b0

data = 3’b100; ~ data = 3’b011

data = 3’b000; ~ data = 3’b111

11

2023-02-14

  • Gotcha 53

12 of 26

Діз’юнкція, логічне додавання (АБО, OR)

  •  

12

2023-02-14

X1

X2

Y

0

0

0

0

1

1

1

0

1

1

1

1

13 of 26

74xx32

13

2023-02-14

14 of 26

14

2023-02-14

15 of 26

Кон’юнкція, логічне множення (І, AND)

  •  

15

2023-02-14

X1

X2

Y

0

0

0

0

1

0

1

0

0

1

1

1

16 of 26

74xx08

16

2023-02-14

17 of 26

17

2023-02-14

18 of 26

АБО-НІ, NOR

  •  

18

2023-02-14

X1

X2

Y

0

0

1

0

1

0

1

0

0

1

1

0

19 of 26

74xx02

19

2023-02-14

20 of 26

20

2023-02-14

21 of 26

І-НІ, NAND

  •  

21

2023-02-14

X1

X2

Y

0

0

1

0

1

1

1

0

1

1

1

0

22 of 26

74хх00

22

2023-02-14

23 of 26

23

2023-02-14

24 of 26

Виключне АБО, eXclusive OR, XOR

  •  

24

2023-02-14

X1

X2

Y

0

0

1

0

1

0

1

0

0

1

1

1

25 of 26

74xx86

25

2023-02-14

26 of 26

26

2023-02-14