FPGA 0ためにコンパイルされたプログラムの論理ユニット番号後

問題

コードコンパイラが終了していないFPGA与えられた後に、論理ユニットの数(合計論理素子)を用いたディスプレイはゼロです。もちろん、プログラムが動作しません。
私は、Quartusの下で開発されたインテルアルテラのFPGA、Verilogの言語を使用します。

理由

トップモジュールなし有効な出力。例えば、出力は値又はサブモジュール、サブモジュールの問題に接続された出力を有していません。

適切にせずにトップモジュールの出力は、コンパイラの最適化、それなし出力モジュール、または論理ユニットの出力を設定しない場合。
例1:

module test
(
input clk,
input rst,
output out1,
output out2,
output out3
);

assign out1 = clk;
assign out2 = ~clk;

endmodule

クロック信号出力任意の処理を行うことなく、直接OUT1、反転出力クロック信号のみNANDゲート、必要とされない論理ユニットのOUT2、OUT3が、任意の処理なし。
従って、上記のコードの数がコンパイルされる論理ユニット0が得られます。

例2:

module test
(
input clk,
input rst,
input [3:0] data,
output out
);

reg [3:0] store [7:0];
reg [3:0] k;

always @ (posedge clk or negedge rst)
begin
    if (!rst)
        k <= 1'b0;
    else
    begin
        store[k] <= data;
        if (k == 4'd7)
            k <= 0;
        else
            k <= k + 1'b1;
    end
end

endmodule

コードは右、論理ユニットを使用してください、特定の機能を実現するために見えますか?
本当のトップレベルのモジュール出力、あなたのコードの同等の無駄な仕事をしていない。しかし、実際には、何も結果が出て送信されませんでしたありません。コンパイラの後まだ論理ユニットではありません。

ソリューション

具体的には、出力モジュールの頂部に関連付けられたコードをチェックする、トップモジュールは、有効な出力を有する参照。

おすすめ

転載: www.cnblogs.com/xia-weiwen/p/11363200.html