5.4. D-ТРИГГЕР






D-защелка



D-защелка имеет вход данных D и синхронизационный вход C. принципиальная схема D-защелки

---------------------- C D | Q Q# ------+--------------- 0 X | lastQ lastQ# 1 0 | 0 1 1 1 | 1 0 ---------------------- Карта Карно: CD 00 01 11 10 --+---------------- Q 0 | 0 0 1 0 1 | 1 1 1 0 Диаграмма состояний D-защелки:


Создание D-защелки из RS-защелки:




Создание DV-защелки (V - вход разрешения) из D-защелки:




Реализация D-защелки на CMOS:



Реализация D-защелки на CMOS:


Топология D-защелки на CMOS:






Примеры реализации сброса для D-защелки на CMOS:




D-триггер

DIN/ANSI (пример с одним выходом)

DIN/ANSI (пример с двумя выходами)

Блок-схема D-триггера:

D-триггер (работает по фронту):


VHDL программа для D-триггера с асинхронным установочным входом RST library ieee; use ieee.std_logic_1164.all; entity DFF is port( CLK, RST, D : in std_logic; Q : out std_logic); end DFF; architecture Example of DFF is signal FF:std_logic; -- Flip Flop main data signal CHG:std_logic; -- Change symbol begin process(CLK,RST,CHG) begin if (RST = '1') THEN FF <= '0'; elsif (CLK'event and CLK = '1') THEN CHG <= '1' after 1 ns; end if; if (CHG = '1') then FF <= D; CHG <= '0' after 1 ns; end if; end process; Q <= FF after 1 ns; end Example; Результат симуляции:




Verilog программа для D-триггера с установочным входом RESET module DFF(data,clk,reset,q); input data,clk,reset; output q; reg q; always @(posedge clk or negedge reset) begin if (~reset) q = 1'b0; else q = data; end endmodule;


Топология D-триггера на CMOS:




Index Prev Next