Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Verilog

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

  1. Основы Verilog: проектирование вашего первого И-шлюза
  2. Освоение Verilog: полное руководство по проектированию цифровых схем
  3. Полный цикл проектирования ASIC: от требований к производству
  4. Уровни абстракции проектирования: понятное руководство по архитектуре чипов
  5. Освоение синтаксиса Verilog: ключевые правила и лучшие практики
  6. Типы данных Verilog: биты, провода (wire) и логические значения
  7. T-триггер на Verilog: RTL-реализация и тестбенч
  8. Параметризованный Mod-N счётчик на Verilog: модуль и тестбенч
  9. Счётчик Грея на Verilog: 4-битный генератор кода Грея
  10. Как частотные преобразователи повышают энергоэффективность в промышленности