Я начну:
представляю код на 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 выдал ошибку на анализе и синтезе и не преврати это в схему