Правильный способ определения края сигнала в Verilog

я бы хотелобнаружить нарастающий фронт сигнала с триггераAA вBB

                    +----+
  A ----------------|    |----- OUT
        +----+      | BB |
  B ----|    |------|>   |
        | AA |      +----+
clk ----|>   |
        +----+

Verilog код:

    module edge_detect (
        input A,
        input B,
        input clk,
        output OUT
    );

        reg AA;
        reg BB;

        always @(posedge clk) begin
            AA <= B;
        end

        always @(posedge AA)begin
            BB <= A;
        end

        assign OUT = BB;
    endmodule

Выход изAA используется как часы дляBB говоря этоAA сделал свою работу, а затемBB Теперь можно продолжить свою работу.

Я редко вижу этот код. Это хорошая практика?

Если нет, есть ли другиенадлежащим образом обнаружить границу сигнала?

Ответы на вопрос(2)

Ваш ответ на вопрос