Я б...ть чувствую что скоро буду схемы рисовать сам, а не верилог использовать.
Есть такая проблема, вот первое исполнение кода:
- Код:
module TEST_COUNTER(
input wire test_signal_0,
output reg [7:0] time_count_1 = 0
);
always @ (posedge test_signal_0)
begin
time_count_1 <= 123;
end
endmodule
Здесь хочется, что бы при подаче положительного фронта сигнала test_signal_0 установилось значение на массиве выходных пинов = 123, при этом задаю начальное значение регистра time_count_1 = 0.
В итоге получается такая х...ня:
Как видно из кода, результат должен быть: начальное значение регистра time_count_1 = 0 и должно безвозвратно устанавливаться в 123 по положительному фронту сигнала test_signal_0. Но видимо синтезатор решил забить на желания пользователя и сгенерировать х..ню.
Второй вариант кода:
- Код:
module TEST_COUNTER(
input wire test_signal_0,
output reg [7:0] time_count_1 = 0
);
always @ (posedge test_signal_0)
begin
time_count_1 <= time_count_1 + 123;
end
endmodule
А здесь всё чётко! Но также должно работать и в первом варианте.
В чём может быть проблема???