JK-триггер: проектирование, реализация и тестбенч
Проект
module jk_ff (
input j,
input k,
input clk,
output q
);
reg q;
always @(posedge clk)
case ({j,k})
2'b00: q <= q;
2'b01: q <= 0;
2'b10: q <= 1;
2'b11: q <= ~q;
endcase
endmodule
Схема устройства
Тестбенч
module tb_jk;
reg j, k, clk;
wire q;
always #5 clk = ~clk;
jk_ff jk0 (.j(j), .k(k), .clk(clk), .q(q));
initial begin
j <= 0; k <= 0;
#5 j <= 0; k <= 1;
#20 j <= 1; k <= 0;
#20 j <= 1; k <= 1;
#20 $finish;
end
initial $monitor("j=%0d k=%0d q=%0d", j, k, q);
endmodule
Verilog
- Основы Verilog: проектирование вашего первого И-шлюза
- Освоение Verilog: полное руководство по проектированию цифровых схем
- Полный цикл проектирования ASIC: от требований к производству
- Уровни абстракции проектирования: понятное руководство по архитектуре чипов
- Освоение синтаксиса Verilog: ключевые правила и лучшие практики
- Типы данных Verilog: биты, провода (wire) и логические значения
- T-триггер на Verilog: RTL-реализация и тестбенч
- Параметризованный Mod-N счётчик на Verilog: модуль и тестбенч
- Счётчик Грея на Verilog: 4-битный генератор кода Грея
- Как частотные преобразователи повышают энергоэффективность в промышленности