Verilog D-Flip-Flop не фиксируется после асинхронного сброса

У меня есть триггер с асинхронным сбросом и включением. Вот мой код:

module DFF_aSR(in, enable, clock, reset, out);
input in, enable, clock, reset;
output out;
reg out;

always @ (posedge clock or posedge reset) begin
    if (reset) begin
        out <= 1'b0;
    end 
    else if (enable) begin
        out <= in;
    end 
end
endmodule

Но вот моя результирующая осциллограмма, на которой видно, что после сброса не происходит релача, почему так?

форма сигнала триггера


person MMP    schedule 27.01.2015    source источник
comment
Сброс включается каждый раз, когда in и en имеют высокий уровень. out может повышаться только в положении clock с reset низким, en высоким и in высоким`   -  person Greg    schedule 27.01.2015
comment
@ Грег, я понимаю твое объяснение, но до сих пор не знаю, как решить проблему.   -  person MMP    schedule 27.01.2015
comment
Вам нужно изменить стимул вашего тестового стенда, а не ваш дизайн.   -  person Greg    schedule 27.01.2015


Ответы (1)


Выход защелки должен стать высоким, если/когда происходит нарастающий фронт тактового сигнала с данными stable на высоком уровне и сбросом stable на низком уровне. Единственный такой край, который я вижу, перед первым импульсом сброса. Если вы хотите, чтобы защелка захватила сигнал, например, время 110 нс, вы должны убедиться, что до этого вход сброса становится низким. Если вы хотите, чтобы сброс запускался по фронту, а не по уровню, вам может понадобиться использовать пару флопов, один из которых запускается по тактовой частоте, а другой — по сбросу, подключенных таким образом, чтобы выход D первого подключался к выходу Q второго. второго, а D второго соединяется с /Q первого. Подача выходных сигналов защелок в логический элемент XOR даст сигнал, указывающий, какой сигнал имел самый последний нарастающий фронт (предупреждение: одновременные нарастающие фронты могут вызвать метастабильность). Сигнал, который вам, кажется, нужен, затем может быть сформирован путем объединения «И» зафиксированных данных с выходом XOR, а также, возможно, с некоторыми воротами для предотвращения опасности.

person supercat    schedule 27.01.2015