UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 17291

Synplify 7.2 - ジェネリック/パラメータ を使用した I/O 標準の指定について (FPGA のみ)

説明

キーワード : IOSTANDARD, I/O, attribute, select, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, Spartan-II, Spartan-3, I/O 標準, 属性, 選択

重要度 : 標準

概要 :
次の情報は、Synplify のオンライン ヘルプからの抜粋です。

Virtex ファミリの場合、異なる I/O 標準で Select I/O バッファをインスタンシエートするために、Synplicity から提供されているマクロ ライブラリを使用できます。

HDL ソース ファイルで、I/O パッド タイプをインスタンシエートする場合、IOSTANDARD ジェネリック/パラメータを使用し、I/O 標準を指定できます。 サポートされている I/O 標準のリストは、ライブラリ ガイドを参照してください。

IOSTANDARD 以外に、次のプロパティを I/O パッド タイプ用のジェネリック/パラメータとして指定できます。

SLEW - 出力スルー レート
DRIVE - 出力駆動力

詳細については、(Xilinx Answer 1995) を参照してください。

ソリューション

1

VHDL の例

library ieee;
library virtex2;

use ieee.std_logic_1164.all;
use virtex2.components.all;

entity my_ff is
Port (d, rst, clk : in std_logic;
q : out std_logic);
end entity;

architecture my_ff_arch of my_ff is

signal clk_in, d_in, rst_in, q_in : std_logic;

begin

ibuf1 : IBUF
generic map (iostandard => "AGP")
port map (I => clk,
O => clk_in);

ibuf2 : IBUF
generic map (iostandard => "AGP")
port map (I => d,
O => d_in);


ibuf3 : IBUF
generic map (iostandard => "AGP")
port map (I => rst,
O => rst_in);

obuf1 : OBUF
generic map (iostandard => "LVTTL",
drive => 2,
slew => "fast")
port map (I => q_in,
O => q);

process (clk_in) is begin
if clk_in'event and clk_in = '1' then
if rst_in = '1' then
q_in <= '0';
else q_in <= d_in;
end if;
end if;
end process;

end architecture;

2

Verilog の例

`include "C:?_synplicity?_Synplify_72?_lib?_xilinx?_virtex2.v"

module myff (d, rst, clk, q);

input d, rst, clk;
output q;

wire d_in, rst_in, clk_in;
reg q_in;

IBUF ibuf1 (.I(clk), .O(clk_in));
defparam ibuf1.IOSTANDARD = "AGP";

IBUF ibuf2 (.I(d), .O(d_in));
defparam ibuf2.IOSTANDARD = "AGP";

IBUF ibuf3 (.I(rst), .O(rst_in));
defparam ibuf3.IOSTANDARD = "AGP";

OBUF obuf1 (.I(q_in), .O(q));

defparam obuf1.IOSTANDARD = "LVTTL";
defparam obuf1.SLEW = "FAST";
defparam obuf1.DRIVE = 2;



always @(posedge clk_in) begin
if (rst_in)
q_in <= 1'b0;
else
q_in <= d_in;
end

endmodule
AR# 17291
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加