Вопрос о том, как асинхронный сброс работает на ребре сброса - PullRequest
0 голосов
/ 13 апреля 2019

Я смотрю на некоторые материалы Verilog из «asic-world» и задаю вопрос об асинхронном сбросе. Не очень уверен, как это работает, когда сброс имеет положительный край. Если учитывать только передний фронт сброса, приведенный ниже код Verilog проверяет, равен ли сброс 1 для сброса. Если сброс равен 1, то выход сбрасывается в НОЛЬ. Но поскольку это происходит на переднем фронте сброса, сброс находится в метастабильном состоянии, которое не равно ни 0, ни 1. Таким образом, проверка значения сброса на положительном фронте сброса для меня не имеет смысла. Может ли кто-нибудь объяснить это?

Код Verilog от Asic-world:

module  asyn_reset(clk,reset,a,c);
    input clk;
    input reset;
    input a;
    output c;    

    wire clk;
    wire reset;   
    wire a;    
    reg c;  

    always @ (posedge clk or posedge reset)
    if ( reset == 1'b1) begin
        c <= 0;
    end else begin
        c <= a;
    end
    endmodule

1 Ответ

1 голос
/ 24 апреля 2019

Асинхронный сброс означает, что ваша схема должна сбрасываться всякий раз, когда активен сигнал сброса «Независимо от часов».Естественно, это должно быть включено в список чувствительности, поскольку такой синтаксис делает его асинхронным сбросом.Обратите внимание, что для перевода триггеров в состояние по умолчанию (сброса) не требуются активные часы, и вас не должно беспокоить проблема метастабильности при входе в состояние сброса.Здесь нужен самый первый блок всегда процесса (который проверяет состояние ввода сброса), и вам нужно придерживаться такого стиля кодирования.Наиболее важным моментом является то, что относительное время между синхронизацией и сбросом может игнорироваться во время Подтверждение сброса . Reset Release ДОЛЖЕН быть синхронизирован с часами, поскольку это действительно может привести к проблемам метастабильности.Существуют известные схемы, которые можно использовать для процедуры выпуска с асинхронным сбросом (они немного специфичны, но широко используются в мире ASIC, поэтому вы сможете найти справочные материалы через браузер Google).

...