イニシャライズでcnt1の値を設定することで位相をずらした。
お遊びでref1のカウント方向をマイナスにして明滅ではなく滅明(?)に。
使用LE数は76でした。
因みに、ちゃんとインターリーブ化してるかどうかはオシロで確認してません。
2015/10/27/21:17追記
SOFファイルだとコンフィグレーションフラッシュに記録せずに書き込まれるため揮発性で、不揮発性にするためにコンフィグレーションフラッシュに書き込むにはPOFファイルで書き込まないとダメなんですね。今更知りました。
と言っても、まともにFPGA始めたのは今日ですが。
お遊びでref1のカウント方向をマイナスにして明滅ではなく滅明(?)に。
使用LE数は76でした。
module pwmtest02 (省LE化にも挑戦したが、失敗。
input RST_N, CLK,
output reg LED0, LED1
);
reg [11:0] cnt0, cnt1;
reg [11:0] ref0, ref1;
initial cnt1 = 2047;
always @(posedge CLK or negedge RST_N)begin
if(RST_N == 1'b0) begin
cnt0 <= 0;
cnt1 <= 2047;
end
else if(CLK == 1'b1) begin
cnt0 <= cnt0 + 1;
cnt1 <= cnt1 + 1;
if(cnt0 == 0) begin
ref0 <= ref0 + 1;
ref1 <= ref1 - 1;
end
end
end
always @* begin
LED0 = (cnt0 < ref0);
LED1 = (cnt1 < ref1);
end
endmodule
因みに、ちゃんとインターリーブ化してるかどうかはオシロで確認してません。
2015/10/27/21:17追記
SOFファイルだとコンフィグレーションフラッシュに記録せずに書き込まれるため揮発性で、不揮発性にするためにコンフィグレーションフラッシュに書き込むにはPOFファイルで書き込まないとダメなんですね。今更知りました。
と言っても、まともにFPGA始めたのは今日ですが。