• 検索結果がありません。

: 5-Input Lookup Table with General Output

概要

このデザイン エレメントは、入力 5 個、出力 1 個のルックアップ テーブル (LUT) で、非同期 32 ビット ROM (5 ビット のアドレス指定) として動作するか、5 入力のロジック ファンクションをインプリメントできます。 LUT は基本的なロジッ ク構築ブロックで、デザインに含まれる多くのロジック ファンクションをインプリメントするときに使用します。 LUT5 が 1 つの場合はスライス内に含まれる LUT6 に、2 つの場合は 1 つの LUT6 に多少の制限はありますがパックできます。

LUT5、LUT5_L、および LUT5_D の機能は同じですが、 LUT5_L および LUT5_D では、LUT5 の出力信号を内部スライ スに接続したり、LO 出力を使用して CLB に接続することができます。 LUT5_L では LUT5 からの接続のみが 1 つの スライスまたは CLB に含まれるように指定できるのに対し、LUT5_D では LUT5 の出力を内部スライス/CLB ロジックと 外部ロジックの両方に接続するように指定できます。 LUT5 では出力の接続は特定されないので、内部スライスまたは CLB 信号の接続を暗示的に指定する必要がない限り、いつでも使用できます。

LUT のロジック ファンクションを指定するため、INIT 属性に 32 ビットの 16 進数を設定する必要があります。 INIT 値 は、関連する入力が適用されるときに、対応する INIT ビット値に 1 を割り当てることで計算されます。 たとえば Verilog で INIT 値を 32’h80000000 (VHDL では X"80000000") に設定すると、入力すべてが 1 の場合以外は出力は 0 になり ます (5 入力の AND ゲート)。 また、Verilog で INIT 値を 32’hfffffffe (VHDL では X"FFFFFFFE") に設定すると、入力 がすべてゼロの場合以外は出力は 1 になります (5 入力 OR ゲート) 。

FPGA LUT プリミティブでは、INIT パラメータで論理値が設定されます。 デフォルトは 0 で、入力値にかかわらず出力 を 0 に駆動します (グランドとして機能)。 ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため に、新しい INIT の値を決定する必要があります。 LUT の値を指定する方法には、次の 2 つがあります。

論 論 論理 理表 理 表 表を を を使 使用 使 用 用す する す る る方 方法 方 法 法 ::: LUT の INIT 値を決定する一般的な方法。 バイナリの論理表にすべての入力をリストして出 力のロジック値を指定し、これらの出力値から、初期値を作成します。

論 論 論理 理式 理 式 式を を を使 使 使用 用す 用 す する る る方 方法 方 法 法 ::: リストされた論理表の値に対応する LUT の各入力にパラメータを定義し、パラメータを元に

ロジックの論理式を生成します。 概念を理解してしまえばこの方法の方が簡単で、前出の方法のようにパラメータの指

定にコードを使用する必要がありません。

第 3 章 : デザイン エレメント

論理表

入力 出力

I4 I3 I2 I1 I0 LO

0 0 0 0 0 INIT[0]

0 0 0 0 1 INIT[1]

0 0 0 1 0 INIT[2]

0 0 0 1 1 INIT[3]

0 0 1 0 0 INIT[4]

0 0 1 0 1 INIT[5]

0 0 1 1 0 INIT[6]

0 0 1 1 1 INIT[7]

0 1 0 0 0 INIT[8]

0 1 0 0 1 INIT[9]

0 1 0 1 0 INIT[10]

0 1 0 1 1 INIT[11]

0 1 1 0 0 INIT[12]

0 1 1 0 1 INIT[13]

0 1 1 1 0 INIT[14]

0 1 1 1 1 INIT[15]

1 0 0 0 0 INIT[16]

1 0 0 0 1 INIT[17]

1 0 0 1 0 INIT[18]

1 0 0 1 1 INIT[19]

1 0 1 0 0 INIT[20]

1 0 1 0 1 INIT[21]

1 0 1 1 0 INIT[22]

1 0 1 1 1 INIT[23]

1 1 0 0 0 INIT[24]

1 1 0 0 1 INIT[25]

1 1 0 1 0 INIT[26]

1 1 0 1 1 INIT[27]

1 1 1 0 0 INIT[28]

1 1 1 0 1 INIT[29]

1 1 1 1 0 INIT[30]

1 1 1 1 1 INIT[31]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

第 3 章 : デ ザ イ ン エ レ メ ン ト

ポートの説明

ポート名 方向 幅 機能

O 出力 1 5 入力 LUT 出力

I0、I1、I2、I3、I4 入力 1 LUT 入力

デザインの入力方法

インスタンシエーション 可

推論 推奨

CORE Generator™ およびウィザード 不可

マクロのサポート 不可

使用可能な属性

属性 タイプ 値 デフォルト 説明

INIT 16 進数 32 ビット値 すべてゼロ ルックアップ テーブルの論理値を指定

VHDL 記述 (インスタンシエーション)

次の 2 つの構文が存在しない場合はコピーし、エンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT5: 5-input Look-Up Table with general output

-- Spartan-6

-- Xilinx HDL Libraries Guide, version 12.2 LUT5_inst : LUT5

generic map (

INIT => X"00000000") -- Specify LUT Contents port map (

O => O, -- LUT general output I0 => I0, -- LUT input I1 => I1, -- LUT input I2 => I2, -- LUT input I3 => I3, -- LUT input I4 => I4 -- LUT input );

-- End of LUT5_inst instantiation

第 3 章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

次の 2 つの構文が存在しない場合はコピーし、エンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT5: 5-input Look-Up Table with general output

-- Spartan-6

-- Xilinx HDL Libraries Guide, version 12.2 LUT5_inst : LUT5

generic map (

INIT => X"00000000") -- Specify LUT Contents port map (

O => O, -- LUT general output I0 => I0, -- LUT input I1 => I1, -- LUT input I2 => I2, -- LUT input I3 => I3, -- LUT input I4 => I4 -- LUT input );

-- End of LUT5_inst instantiation

詳細情報

Spartan-6 FPGA コンフィギャブル ロジック ブロック ユーザー ガイド

Spartan-6 FPGA データシート : DC 特性およびスイッチ特性

第 3 章 : デ ザ イ ン エ レ メ ン ト

ドキュメント内 Spartan-6 ライブラリ ガイド (HDL 用) (ページ 157-161)

関連したドキュメント