Цитата(Flip-fl0p @ May 8 2018, 11:27)
На Ваш вопрос ответит любой синтезатор
Синтезатор с собой на собеседование не возьмёшь ))
Но Ваш отсыл справедлив, просто захотелось послушать мнение профессионалов )
Цитата(iosifk @ May 8 2018, 11:45)
А я добавлю. Автор статьи, на которую была ссылка тоже неплохой парень. И можно у него спросить...
Здесь все - неплохие парни. Поэтому, решил, что будет лучше спросить у всех.
Но и Ваш совет тоже учту на будущее (есть в статье ещё непонятные вопросы).
Цитата(Lutovid @ May 8 2018, 14:22)
с точки синтезатора это одно и то же - я проверил на всякий случай
Да, тоже проверил. Синтезатор Quartusa даёт такой RTL вид:
Цитата(Lutovid @ May 8 2018, 14:22)
С точки зрения симуляции то же все одинаково вроде должно быть
Да, Modelsim
Код
module wires_vs_regs_tb;
reg b, c;
wire a_net;
wire [1:0] a_reg;
wires_vs_regs wires_vs_regs_inst(.a_net(a_net), .a_reg(a_reg), .b(b), .c(c));
initial begin
#0 b = 0; c = 0;
#10 b = 1;
#10 b = 0; c = 1;
#10 b = 1;
#10 $finish;
end
initial
$monitor("At %2t b = %1b, c = %1b -> a_net = %1b, a_reg[1:0] = %2b", $time, b, c, a_net, a_reg);
endmodule // wires_vs_regs_tb
даёт:
# At 0 b = 0, c = 0 -> a_net = 0, a_reg[1:0] = 00
# At 10 b = 1, c = 0 -> a_net = 1, a_reg[1:0] = 11
# At 20 b = 0, c = 1 -> a_net = 1, a_reg[1:0] = 11
# At 30 b = 1, c = 1 -> a_net = 0, a_reg[1:0] = 00
Цитата(Lutovid @ May 8 2018, 14:22)
единственное различие в том, что в 2х последних случаях выходы должны быть reg
Снова согласен: Quartus сразу же поправил описание цепей и переменных:
Код
module wires_vs_regs(
input b, c,
output a_net,
output reg [1:0] a_reg
);
// code 1:
assign a_net = b + c;
// code 2:
always @( b or c )
begin
a_reg[0] = b + c;
end
// code 3:
always @( * )
begin
a_reg[1] = b + c;
end
endmodule // wires_vs_regs
Цитата(Lutovid @ May 8 2018, 14:22)
Я бы добавил - это статья - предложение с чего бы начать. Не корректно ее юзать работодателем для отсева неквалифицированных кадров)) Не стоит сильно расстраиваться, если что-то не знаете, как правило если раньше с этим не сталкивались за годы работы в данной сфере, то это вам и не особо нужно(есть конечно исключения)
p.s. это мое личное мнение
Спасибо Вам за поддержку и всем за советы.
На всякий случай приложу архив с проектом: вдруг, кто в будущем с этим же столкнётся? )