問題
コードコンパイラが終了していない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
コードは右、論理ユニットを使用してください、特定の機能を実現するために見えますか?
本当のトップレベルのモジュール出力、あなたのコードの同等の無駄な仕事をしていない。しかし、実際には、何も結果が出て送信されませんでしたありません。コンパイラの後まだ論理ユニットではありません。
ソリューション
具体的には、出力モジュールの頂部に関連付けられたコードをチェックする、トップモジュールは、有効な出力を有する参照。