Лекция 8. Триггерлер. Комбинациялық тізбекті талдау және синтездеу. Синхронды және асинхронды RS және JK триггерлері.
Лекция 8. Триггерлер. Комбинациялық тізбекті талдау және синтездеу. Синхронды және асинхронды RS және JK триггерлері.
Триггерлер. Комбинациялық
тізбекті талдау және синтездеу. Синхронды
және асинхронды RS және JK триггерлері.
Триггерлер. Комбинациялық тізбекті талдау және синтездеу. Синхронды және асинхронды RS және JK триггерлері.
Тақырып: Триггерлер, комбинациялық тізбекті талдау және синтездеу, синхронды және асинхронды RS және JK триггерлері
---
1. Триггерлерге кіріспе
Триггер – бұл екі тұрақты күйі бар (0 және 1) жады элементі. Триггерлер комбинациялық емес, тізбекті логикалық элементтерге жатады және оларды жады элементтері ретінде қолдануға болады. Триггерлер сандық жүйелерде ақпаратты сақтауға және белгілі бір уақыт аралығында өзгерістерді бақылауға мүмкіндік береді. Олар көбінесе санауыштарда, регистрлерде және синхронды жүйелерде қолданылады.
Триггерлерді басқаратын сигналдарға байланысты олар синхронды және асинхронды түрлерге бөлінеді. Синхронды триггерлер тек синхрондау (жүргізу) сигналы арқылы өзгереді, ал асинхронды триггерлер кіріс сигналдарының өзгеруіне тәуелді.
---
2. Комбинациялық тізбекті талдау және синтездеу
Комбинациялық тізбекті талдау және синтездеу сандық схемаларды жобалаудың маңызды қадамдары болып табылады.
# 2.1 Комбинациялық тізбекті талдау
Талдау – белгілі бір комбинациялық тізбектің кіріс сигналдарына байланысты шығыс сигналдарын анықтау процесі. Комбинациялық тізбектерді талдау үшін:
- Ақиқат кестесі құрылады: Әрбір мүмкін кіріс комбинациясына сәйкес шығыс мәндері анықталады.
- Логикалық өрнектер жазылады: Әрбір шығыс сигнал үшін кіріс сигналдарымен байланысын көрсететін логикалық өрнек құрылады.
- Карно картасын қолдану арқылы оңтайландыру: Карно картасы логикалық өрнектерді ықшамдау үшін қолданылады, бұл тізбектің тиімділігін арттырады.
# 2.2 Комбинациялық тізбекті синтездеу
Синтездеу – берілген логикалық функцияны орындай алатын комбинациялық тізбекті құру процесі. Синтездеу қадамдары:
1. Функционалдық талаптарды анықтау: Тізбектің қажетті функцияларын сипаттау.
2. Ақиқат кестесін құру: Кіріс және шығыс комбинацияларын анықтау.
3. Логикалық өрнектерді құру және ықшамдау: Бул алгебрасының ережелері мен Карно картасын қолдану арқылы логикалық өрнектерді ықшамдау.
4. Тізбекті Verilog тілінде сипаттау: Тізбекті Verilog көмегімен жазу арқылы бағдарламаланатын құрылғыларда іске асыруға болады.
---
3. Синхронды және асинхронды RS және JK триггерлері
# 3.1 RS триггері
RS триггері (Reset-Set триггері) – ең қарапайым триггерлердің бірі. Ол екі кіріс сигналынан тұрады: Reset (R) және Set (S). RS триггері негізгі екі күйге ие: орнатылған күй (Set) және өшірілген күй (Reset).
RS триггерінің ақиқат кестесі келесідей:
| S | R | Q | Q' |
|---|---|----|----|
| 0 | 0 | Q | Q' |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | X | X |
S = 1, R = 0 жағдайында триггер орнатылады (Q = 1), ал S = 0, R = 1 жағдайында өшіріледі (Q = 0). S = 1, R = 1 кезінде триггердің күйі анықталмаған.
Синхронды RS триггері тек синхрондау сигналы белсенді болғанда жұмыс істейді. Асинхронды RS триггері кіріс сигналдарының өзгерісіне тікелей тәуелді болады және синхрондау сигналы қажет емес.
# 3.2 JK триггері
JK триггері – RS триггерінің жетілдірілген нұсқасы, онда J және K кірістері бар. JK триггерінде J = K = 1 жағдайында триггердің күйі ауысады, бұл оны жиі сандық санауыштарда қолдануға мүмкіндік береді.
JK триггерінің ақиқат кестесі:
| J | K | Q | Q' |
|---|---|----|----|
| 0 | 0 | Q | Q' |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | Q' | Q |
J = 1, K = 0 болғанда триггер орнатылады, ал J = 0, K = 1 кезінде өшіріледі. J = 1, K = 1 кезінде триггердің күйі ауысады.
Синхронды JK триггері синхрондау сигналымен жұмыс істейді, ал асинхронды JK триггері кіріс сигналдарының өзгеруіне бірден жауап береді.
---
4. Синхронды және асинхронды триггерлерді Verilog-та жазу
Verilog-та синхронды және асинхронды триггерлерді сипаттау үшін келесі кодтар қолданылады.
# 4.1 Синхронды RS триггері
```verilog
module rs_flip_flop (
input wire S,
input wire R,
input wire clk,
output reg Q,
output reg Qn
);
always @(posedge clk) begin
if (S == 1 && R == 0) begin
Q <= 1;
Qn <= 0;
end
else if (S == 0 && R == 1) begin
Q <= 0;
Qn <= 1;
end
else if (S == 0 && R == 0) begin
Q <= Q;
Qn <= Qn;
end
end
endmodule
```
# 4.2 Синхронды JK триггері
```verilog
module jk_flip_flop (
input wire J,
input wire K,
input wire clk,
output reg Q,
output reg Qn
);
always @(posedge clk) begin
if (J == 1 && K == 0) begin
Q <= 1;
Qn <= 0;
end
else if (J == 0 && K == 1) begin
Q <= 0;
Qn <= 1;
end
else if (J == 1 && K == 1) begin
Q <= ~Q;
Qn <= ~Qn;
end
end
endmodule
```
---
Қорытынды
Бұл лекцияда біз триггерлерді, комбинациялық тізбектерді талдау мен синтездеуді, сондай-ақ синхронды және асинхронды RS және JK триггерлерін Verilog-та сипаттауды қарастырдық. Триггерлер сандық жүйелерде жады элементтері ретінде қолданылады және синхронды жүйелерді жобалауда маңызды рөл атқарады.