Форум

Сравнение результатов синтеза

17 апреля 2023 г.· 2 сообщ.· старый URL

Сюда предлагаю складывать описания результатов неоднозначного восприятия инструментами синтеза тех или иных конструкций языка

anton_sosnitzkij· 17 апреля 2023 г.· #46
Сюда предлагаю складывать описания результатов неоднозначного восприятия инструментами синтеза тех или иных конструкций языка
anton_sosnitzkij· 17 апреля 2023 г.· #47
Я начну:
представляю код на SV, который по-разному воспринимается разными FPGA-вендорами


Код
`timescale 1ns / 1ps
module prior_encod(
    input logic [11:0] sw,
    output logic [3:0] leds
    );
  
       always_comb begin
        if (sw == 12'b0) begin
            leds = 4'b0;
        end else begin
            for(int i=0;i<12;i++) begin
                if (sw [i]== 1'b1) begin
                    leds = i;
                end
            end
        end
    endendmodule[/i]

Это код приоритетного энкодера. В коде описана защелка в блоке always_comb
Полученные реакции:
1) Gowin: выдаёт предупреждение, синтезирует схему с защелкой
2) Vivado 21.2: никаких ошибок и предупреждений, просто синтезирует схему с защелкой
3) Quartud Prime 18.0 выдал ошибку на анализе и синтезе и не преврати это в схему
Сообщение отредактировал anton_sosnitzkij - Вторник, 18.04.2023, 18:58