module jishuqi10(CLK,rst,en,load,cout,dout,data);
input CLK,rst,en,load;
input [3:0]data;
output [3:0]dout;
output cout;
reg [3:0]q1;
reg cout;
assign dout=q1;
always @(posedge CLK or negedge rst)
begin
if(!rst)
begin
q1<=0;
end
else if(en)begin
if(!load)
q1<=data;
else if(q1<9)
q1<=q1+1;
else
q1<=0;
end
end
always @(q1)
begin
if(q1==4'h9)
cout=1'b1;
else
cout=0;
end
endmodule
modesim でシミュレーションを行う場合は、まず各入力信号の値を調整します (通常、最初にリセットを使用してデータをリセットし、次に対応する信号を調整してデータを変更し、比較します)。
対応するテストベンチが記述されます
`timescale 1 ns/ 1 ps
module jishuqi10_TB();
reg CLK;
reg en;
reg load;
reg rst;
reg [3:0]data;
wire [3:0]dout;
wire cout;
jishuqi10 ujishuqi10(
.CLK (CLK),
.en (en),
.rst (rst),
.data (data),
.dout (dout),
.load (load),
.cout (cout)
);
initial
begin
CLK<=1'b0;
en<=1'b0;
load<=1;
rst<=0;
#20 rst<=1;
#20 en<=1;
data<=4'b0011;
#200 load<=0;
#20 load<=1;
end
always @(*)
begin
#10 CLK<=~CLK;
end
endmodule
tb を書き込んだ後、設定を開きます - シミュレーション - テストベンチをコンパイルします - テストベンチ - 新規 - テストベンチ名を入力します - 実行するテストベンチを使用するにチェックを入れます - シミュレーション終了時刻を設定してシミュレーションを終了します - テストベンチを追加しますファイル --ok
FPGAパワーダウン保護プログラム(電源投入後、指定されたプログラムを直接実行)
1file -- プログラミング ファイルを変換 -- プログラミング ファイルの種類は jic ファイルになります -- 構成デバイスは自身のボードのパワーダウン保護に変更されます (v2 は epcs16) -- 追加デバイスは自身のボードのモデルに変更されます -- 追加するファイルを追加します自分のソフト -- [OK] をクリックします
2 プログラムをダウンロードするとき--元のプログラムを削除します-削除--先ほどjicを追加するファイルを追加--プログラム/構成にチェックを入れます-そしてダウンロードします