AR# 12946

|

7.0 SYNPLIFY - インスタンシエートされた BUFGCE に関する問題

説明

キーワード : Virtex, Virtex-II, Virtex2, BUFG, BUFGP, BUFGCE, BUFGMUX

重要度 : 標準

概要 :
Synplify 7.0 では、インスタンシエートされた BUFGCE がクロック バッファとして認識されないため、パッドの IBUFG の代わりに IBUF が推論されます。

ソリューション

1

VHDL の例 :

Synplify を使用した BUFGCE のインスタンシエーション

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_signed.all;

entity bufgce_instantiate is
port ( clk_pad : in std_logic;
ce : in std_logic;
a : in std_logic_vector(15 downto 0);
b : in std_logic_vector(15 downto 0);
p : out std_logic_vector(31 downto 0) );
attribute xc_padtype: string;
attribute xc_padtype of clk_pad: signal is "IBUFG";

-- this attribute forces external clock pad signal to be of type IBUFG instead
-- of IBUF inferred by default by Synplify

end entity bufgce_instantiate;

architecture structural of bufgce_instanciate is

signal clk : std_logic;

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

begin

-- BUFGCE instanciation
U1: BUFGCE
port map ( O => clk,
CE => ce,
I => clk_pad);

-- other code
process (clk)
begin
if rising_edge(clk) then
p <= a * b;
end if;
end process;

end architecture structural;

2

Verilog の例

Synplify を使用した BUFGCE のインスタンシエーション

module bufgce_instantiate (clk_pad, ce, a, b, p);
input clk_pad /* synthesis xc_padtype = "IBUFG" */;
input ce;
input a;
input b;
output p;

wire clk;

BUFGCE U1 (.O(clk), .CE(ce), .I(clk_pad));

always @(posedge clk) p <= a * b;

endmodule
AR# 12946
日付 01/20/2011
ステータス アーカイブ
種類 一般
People Also Viewed