AR# 12461

|

Exemplar - Leonardo ライブラリにない新しい I/O バッファの使用方法について

説明

キーワード : primitive, IBUF, OBUF, I/O, pad, nopad, プリミティブ, パッド

重要度 : 標準

概要 :
ザイリンクスが新しい I/O バッファを提供しても、次のリリースまで Leonardo ライブラリでは使用できないことがあります。 ただし、この I/O バッファは使用できます。

次の Verilog および VHDL の例では、LeonardoSpectrum で I/O の挿入をオフにする属性を追加する方法を示します。

ソリューション

1

Verilog の例

module IBUF_PCIX (O, I);
output O;
input I;

endmodule

module OBUF_PCIX (O, I);
output O;
input I;

endmodule

module test (in, out, clk);
input pci_in, clk;
output pci_out;

reg out;
reg obuf_in;

wire ibuf_out;

IBUF_PCIX U_pcix_ibuf (.O(ibuf_out), .I(in));

always @(posedge clk)
obuf_in = ibuf_out;

OBUF_PCIX U_pcix_obuf (.O(out), .I(obuf_in));

// special NOPAD attribute to ignore default IO buffering.
// exemplar attribute pci_in NOPAD true
// exemplar attribute pci_out NOPAD true
endmodule // test

2

VHDL の例

library ieee;
use ieee.std_logic_1164.all;

entity test is

port (
pci_in : in std_logic;
pci_out : out std_logic;
clk : in std_logic);

-- special NOPAD attribute to ignore default IO buffering.
attribute NOPAD : boolean;
attribute NOPAD of pci_in : signal is TRUE;
attribute NOPAD of pci_out : signal is TRUE;

end test;

architecture behav of test is
component IBUF_PCIX
port (
O : out std_logic;
I : in std_logic);
end component;

component OBUF_PCIX
port (
O : out std_logic;
I : in std_logic);
end component;

signal ibuf_out, obuf_in : std_logic;
begin -- behav

U_pcix_ibuf : IBUF_PCIX port map (
I => input,
O => ibuf_out);

process (clk)
begin -- process
if clk'event and clk = '1' then -- rising clock edge
obuf_in <= ibuf_out;
end if;
end process;

U_pcix_obuf : OBUF_PCIX port map (
I => obuf_in,
O => output);
end behav;
AR# 12461
日付 04/20/2007
ステータス アーカイブ
種類 一般
People Also Viewed