EDA レビュー用の Modulo 10 カウンター

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を追加するファイルを追加--プログラム/構成にチェックを入れます-そしてダウンロードします

おすすめ

転載: blog.csdn.net/weixin_63163242/article/details/128747209