Я довольно новичок в FPGA и Verilog, но у меня проблема с тем, чтобы заставить мой код работать в симуляторе так, как я ожидал.Кажется, симулятор Isim не "работает" на целые числа в моем коде.Ниже приведен фрагмент соответствующего кода.Я пытаюсь разделить импульс clk, переключая SCK_gen каждый раз, когда целое число достигает 10. Когда я запускаю этот код в Isim, SCK_gen никогда не меняет значение.Кроме того, когда я внедряю код на ПЛИС, он ведет себя так, как я и ожидал, я могу наблюдать импульс на 1/10 тактовой частоты.Если кто-нибудь может указать мне правильное направление, я буду благодарен.Спасибо
//signals
//for SCK_clock
reg SCK_gen, SCK_hold;
integer i;
reg en_SCK;
wire neg_edge_SCK;
//SCK_generator
always @(posedge clk, posedge reset)
if (reset)
begin
SCK_gen <= 0;
end
else
begin
i <= i+1;
SCK_hold <= SCK_gen;
if(i == 10)
begin
SCK_gen <= ~SCK_gen;
i <= 0;
end
end
//detect neg edge of SCK
assign neg_edge_SCK = SCK_hold & SCK_gen;