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# 9864

3.x FPGA Express - FDCE の代わりに FDCOE が推論される (XC9500XL ファミリ)

説明

キーワード : FPGA Express, flip, flop, ff, flip-flop, FDCPE, FDCE, infer, 9500, XL, 9500XL, XC9500, XC9500XL, XC, フリップ, フロップ, フリップフロップ, 推論

重要度 : 標準

概要 :
XC9500XL デバイスの場合、FDCE を推論するように HDL を記述しても、FPGA Express で FDCPE が推論されてしまいます (FDCPE には FDCP プリミティブに加え、XC9500XL ファミリに含まれる専用クロック イネーブル ラインを使用しないほかのロジックが含まれています)。

FDCE を推論する VHDL および Verilog コードは次のようになります。

VHDL:

library ieee;
use ieee.std_logic_1164.all;

entity test is
port (data : in std_logic;
clk : in std_logic;
en : in std_logic;
q : out std_logic);
end entity;

architecture arch_test of test is
begin

process (clk) begin
if clk'event and clk = '1' then
if en = '1' then
q<=data;
end if;
end if;
end process;
end architecture;

Verilog:

module test(data,clk,en,q);

input data,clk,en;
output q;
reg q ;

always@(posedge clk) begin
if (en)
q <= data;
end
endmodule

ソリューション

FDCE が必要な場合は、インスタンシエートします。

VHDL:

library ieee;
use ieee.std_logic_1164.all;

entity ff is
port (data: in std_logic;
clk : in std_logic;
en : in std_logic;
q : out std_logic);
end entity;

architecture ff_arch of ff is

component FDCE
port (D : in std_logic;
C : in std_logic;
CE : in std_logic;
CLR : in std_logic;
Q : out std_logic);
end component;

signal ground : std_logic;

begin

ground <= '0';

u1: FDCE port map(data,clk,en,ground,q);

end architecture;

Verilog:

module test(data,clk,en,q);

input data,clk,en;
output q;
reg q ;
wire ground=1'b0;

FDCE my_fdce(.D(data), .C(clk),.CE(en),.Q(q),.CLR(ground));
endmodule
AR# 9864
日付 08/11/2003
ステータス アーカイブ
種類 一般