ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
17 июля
1443833 Топик полностью
petrd (19.06.2024 10:32, просмотров: 121) ответил Mty1 на ChatGpt сгерерил переменную reg running которая решает проблему с просечками
Недогенерил. Выхода нет. 

SystemVerilog c выходом.

module monostable (
    input wire clk,       // Входной тактовый сигнал
    input wire trigger,   // Входной сигнал для запуска одновибратора
    output reg out        // Выходной сигнал одновибратора
);

    logic [31:0] count;    // Регистр для подсчета тактов
    logic running;         // Флаг работы одновибратора

    always_ff @(posedge clk) begin
        if (trigger && !running) begin
            running <= 1;            // Запуск одновибратора по фронту триггера
            count <= 0;              // Сброс счетчика
            out <= 1;                // Установка выхода в 1 при запуске
        end else if (running) begin
            if (count < 32'd62500000 - 1) begin
                count <= count + 1;  // Увеличение счетчика до нужной задержки
            end else begin
                count <= 0;          // Сброс счетчика после задержки
                running <= 0;        // Остановка одновибратора
                out <= 0;            // Установка выхода в 0 при остановке
            end
        end
    end
endmodule