Доброго всем!
В одной хорошей статье
Junior FPGA Design Engineer: как стать? автор приводит довольно много примеров того, что (по его мнению) должен знать и уметь Junior FPGA Design Engineer. Но, как справедливо подмечено в комментариях, "далеко не каждый Junior (и даже Middle) может похвастаться всем тем, что требуется из списка «Необходимо»". К стыду своему следует признаться, что отношусь к одному из таких, хотя имею много лет стажа Verilog RTL-кодирования.
Например, такая задача из тестовых вопросов:
2 Есть ли разница между следующими тремя описаниями? Если да, то в чём она проявляется?
Код
// code 1:
assign a = b + c;
// code 2:
always @( b or c )
begin
a = b + c;
end
// code 3:
always @( * )
begin
a = b + c;
end
ставит меня в тупик.
По-моему мнению, эти описания абсолютно эквивалентны, но, подозреваю, что могу сильно ошибаться.
Был бы признателен за содержательный ответ.