FIFO_SYNC_MACRO
OFFSET 16 進数 13 ビット値 すべてゼロ FULL と ALMOSTFULL の差を設定します。 16 進数 で指定します。
DATA_WIDTH 整数 1 ~ 72 4 DI/DO バスの幅を指定します。
DEVICE 文字列 "7SERIES" "7SERIES" ターゲットのハードウェア アーキテクチャを指定します。
DO_REG 2 進数 0、1 1 同期 FIFO の標準操作を実行する場合は、0 に設定
します。
1 に設定すると、同期 FIFO の出力にパイプライン レ ジスタが追加されます。 このためデータに 1 クロック サイクルのレイテンシが発生しますが、 clock-to-out タイミングは改善します。
FIFO_SIZE 文字列 "18Kb" 、
"36Kb"
"18Kb" FIFO を 18Kb または 36Kb メモリとしてコンフィギュ レーションします。
SIM_MODE 文字列 "SAFE"、
"FAST"
"SAFE" シミュレーションのみの属性です。 "FAST" に設定す ると、シミュレーション モデルがパフォーマンス重視 モードで実行されます。 詳細は、『合成/シミュレーショ ン デザイン ガイド』を参照してください。
VHDL 記述 (インスタンシエーション)
次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。
Library UNISIM;
use UNISIM.vcomponents.all;
-- FIFO_SYNC_MACRO: Synchronous First-In, First-Out (FIFO) RAM Buffer
-- 7 Series
-- Xilinx HDL Libraries Guide, version 13.1
-- Note - This Unimacro model assumes the port directions to be "downto".
-- Simulation of this model with "to" in the port directions could lead to erroneous results.
- DATA_WIDTH | FIFO_SIZE | FIFO Depth | RDCOUNT/WRCOUNT Width - ---- --
===========|===========|============|=======================---- 37-72 | "36Kb" | 512 | 9-bit
---- 19-36 | "36Kb" | 1024 | 10-bit
---- 19-36 | "18Kb" | 512 | 9-bit
---- 10-18 | "36Kb" | 2048 | 11-bit
---- 10-18 | "18Kb" | 1024 | 10-bit
---- 5-9 | "36Kb" | 4096 | 12-bit
---- 5-9 | "18Kb" | 2048 | 11-bit
---- 1-4 | "36Kb" | 8192 | 13-bit
---- 1-4 | "18Kb" | 4096 | 12-bit
--
---FIFO_SYNC_MACRO_inst : FIFO_SYNC_MACRO generic map (
DEVICE => "7SERIES", -- Target Device: "VIRTEX5, "VIRTEX6", "7SERIES"
ALMOST_FULL_OFFSET => X"0080", -- Sets almost full threshold ALMOST_EMPTY_OFFSET => X"0080", -- Sets the almost empty threshold
DATA_WIDTH => 0, -- Valid values are 1-72 (37-72 only valid when FIFO_SIZE="36Kb") FIFO_SIZE => "18Kb) -- Target BRAM, "18Kb" or "36Kb"
port map (
ALMOSTEMPTY => ALMOSTEMPTY, -- 1-bit output almost empty ALMOSTFULL => ALMOSTFULL, -- 1-bit output almost full
DO => DO, -- Output data, width defined by DATA_WIDTH parameter EMPTY => EMPTY, -- 1-bit output empty
FULL => FULL, -- 1-bit output full
RDCOUNT => RDCOUNT, -- Output read count, width determined by FIFO depth RDERR => RDERR, -- 1-bit output read error
WRCOUNT => WRCOUNT, -- Output write count, width determined by FIFO depth WRERR => WRERR, -- 1-bit output write error
CLK => CLK, -- 1-bit input clock
DI => DI, -- Input data, width defined by DATA_WIDTH parameter RDEN => RDEN, -- 1-bit input read enable
RST => RST, -- 1-bit input reset
WREN => WREN -- 1-bit input write enable );
-- End of FIFO_SYNC_MACRO_inst instantiation
Verilog 記述 (インスタンシエーション)
// FIFO_SYNC_MACRO: Synchronous First-In, First-Out (FIFO) RAM Buffer
// 7 Series
// Xilinx HDL Libraries Guide, version 13.1
/////////////////////////////////////////////////////////////////
// DATA_WIDTH | FIFO_SIZE | FIFO Depth | RDCOUNT/WRCOUNT Width //
// ===========|===========|============|=======================//
// 37-72 | "36Kb" | 512 | 9-bit //
// 19-36 | "36Kb" | 1024 | 10-bit //
// 19-36 | "18Kb" | 512 | 9-bit //
// 10-18 | "36Kb" | 2048 | 11-bit //
// 10-18 | "18Kb" | 1024 | 10-bit //
// 5-9 | "36Kb" | 4096 | 12-bit //
// 5-9 | "18Kb" | 2048 | 11-bit //
// 1-4 | "36Kb" | 8192 | 13-bit //
// 1-4 | "18Kb" | 4096 | 12-bit //
/////////////////////////////////////////////////////////////////
FIFO_SYNC_MACRO #(
.DEVICE("7SERIES"), // Target Device: "VIRTEX5", "VIRTEX6", "7SERIES"
.ALMOST_EMPTY_OFFSET(9’h080), // Sets the almost empty threshold .ALMOST_FULL_OFFSET(9’h080), // Sets almost full threshold
.DATA_WIDTH(0), // Valid values are 1-72 (37-72 only valid when FIFO_SIZE="36Kb") .DO_REG(0), // Optional output register (0 or 1)
.FIFO_SIZE ("18Kb") // Target BRAM: "18Kb" or "36Kb"
) FIFO_SYNC_MACRO_inst (
.ALMOSTEMPTY(ALMOSTEMPTY), // 1-bit output almost empty .ALMOSTFULL(ALMOSTFULL), // 1-bit output almost full
.DO(DO), // Output data, width defined by DATA_WIDTH parameter .EMPTY(EMPTY), // 1-bit output empty
.FULL(FULL), // 1-bit output full
.RDCOUNT(RDCOUNT), // Output read count, width determined by FIFO depth .RDERR(RDERR), // 1-bit output read error
.WRCOUNT(WRCOUNT), // Output write count, width determined by FIFO depth .WRERR(WRERR), // 1-bit output write error
.CLK(CLK), // 1-bit input clock
.DI(DI), // Input data, width defined by DATA_WIDTH parameter .RDEN(RDEN), // 1-bit input read enable
.RST(RST), // 1-bit input reset
.WREN(WREN) // 1-bit input write enable );
// End of FIFO_SYNC_MACRO_inst instantiation
詳細情報
7 シリーズ FPGA の資料 (ユーザー ガイドおよびデータシート)
ファンクション別分類
このセクションでは、デバイスに含まれるデザイン エレメントをファンクション別に分類して示 します。 エレメント (プリミティブおよびマクロのインプリメンテーション) は、各カテゴリでアル ファベット順にリストしています。
四則演算ファンクション コンビニエンス プリミティブ レジスタおよびラッチ
クロック コンポーネント I/O コンポーネント シフト レジスタ
コンフィギュレーション/BSCAN コンポーネント
RAM/ROM スライス/CLB プリミティブ
四則演算ファンクション
デザイン エレメント 説明
DSP48E1
プリミティブ : 48-bit Multi-Functional Arithmetic Block
クロック コンポーネント
デザイン エレメント 説明
BUFG
プリミティブ : Global Clock Buffer
BUFGCTRLプリミティブ : Global Clock MUX Buffer
BUFHCE
プリミティブ : HROW Clock Buffer for a Single Clocking Region with Clock Enable
BUFIO
プリミティブ : Local Clock Buffer for I/O
BUFIOプリミティブ : Local Clock Buffer for I/O
BUFR
プリミティブ : Regional Clock Buffer for I/O and Logic Resources within a Clock Region
コンフィギュレーション/BSCAN コンポーネント
デザイン エレメント 説明
DNA_PORT
プリミティブ : Device DNA Access Port
EFUSE_USRプリミティブ : 32-bit non-volatile design ID
コンビニエンス プリミティブ
デザイン エレメント 説明
BUFGCE
プリミティブ : Global Clock Buffer with Clock Enable
BUFGCE_1プリミティブ : Global Clock Buffer with Clock Enable and
Output State 1
BUFGMUX
プリミティブ : Global Clock MUX Buffer
BUFGMUX_1
プリミティブ : Global Clock MUX Buffer with Output State 1
BUFGMUX_CTRLプリミティブ : 2-to-1 Global Clock MUX Buffer
I/O コンポーネント
デザイン エレメント 説明
DCIRESET
プリミティブ : Digitially Controlled Impedance Reset Component
IBUFプリミティブ : Input Buffer
IBUFDS
プリミティブ : Differential Signaling Input Buffer
IBUFDS_DIFF_OUT
プリミティブ : 7 series JTAG Boundary Scan Logic Control Circuit
IBUFG
プリミティブ : Dedicated Input Clock Buffer
IBUFGDS
プリミティブ : Differential Signaling Dedicated Input Clock Buffer and Optional Delay
IBUFGDS_DIFF_OUT
プリミティブ : Differential Signaling Input Buffer with Differential Output
IDELAYCTRL
プリミティブ : IDELAYE2/ODELAYE2 Tap Delay Value Control
IOBUFプリミティブ : Bi-Directional Buffer
IOBUFDS
プリミティブ : 3-State Differential Signaling I/O Buffer with Active Low Output Enable
KEEPER
プリミティブ : KEEPER Symbol
OBUF
プリミティブ : Output Buffer
OBUFDS
プリミティブ : Differential Signaling Output Buffer
OBUFT
プリミティブ : 3-State Output Buffer with Active Low Output Enable
OBUFTDS
プリミティブ : 3-State Output Buffer with Differential Signaling, Active-Low Output Enable
PULLDOWN
プリミティブ : Resistor to GND for Input Pads, Open-Drain, and 3-State Outputs
PULLUP