FC2カウンター FPGAの部屋 Virtex4のISERDESのお勉強
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Virtex4のISERDESのお勉強

気を取り直して、Virtex4のISERDESのお勉強をしてみたが今のところTranslateで原因不明で止まってしまっている。
Virtex4のユーザーズマニュアルのサンプルをほとんどそのまま転載しているが一部論理合成を通らなかったので修正してある。やはり入力ポートは何らかの入力を入れないとエラーになる。
ISERDES_test_1_060714.png

下のVHDLファイルで論理合成は出来たが、Translateでエラーが出ているがエラーリポートが出てこないので原因がわからなくて困っている。

library ieee;
use ieee.std_logic_1164.all;

library unisim;
use unisim.vcomponents.all;

entity ISERDES_test is
    port(
        data_output : out STD_LOGIC;
        Q : out STD_LOGIC_vector(5 downto 0);
        BITSLIP : in STD_LOGIC;
        CE : in STD_LOGIC;
        CLK : in STD_LOGIC;
        CLKDIV : in STD_LOGIC;
        data_input : in STD_LOGIC;
        DLYCE : in STD_LOGIC;
        DLYINC : in STD_LOGIC;
        DLYRST : in STD_LOGIC;
        rst : in STD_LOGIC
    );
end ISERDES_test;

architecture RTL of ISERDES_test is
component ISERDES
    -- synthesis translate_off
    generic (
        BITSLIP_ENABLE : string := "FALSE"; --(TRUE, FALSE)
        DATA_RATE : string := "DDR"; --(SDR, DDR)
        DATA_WIDTH : integer := 4; --(2,3,4,5,6,7,8,10)
        INTERFACE_TYPE : string := "MEMORY"; --(MEMORY, NETWORKING)
        IOBDELAY : string := "NONE"; --(NONE,IBUF,IFD,BOTH)
        IOBDELAY_TYPE : string := "DEFAULT"; --(DEFAULT,FIXED, VARIABLE)
        IOBDELAY_VALUE : integer := 0; --(0 to 63)
        NUM_CE : integer := 2; --(1,2)
        SERDES_MODE : string := "MASTER"; --(MASTER, SLAVE)
    );
    -- synthesis translate_on
    port (
        O : out STD_LOGIC;
        Q1 : out STD_LOGIC;
        Q2 : out STD_LOGIC;
        Q3 : out STD_LOGIC;
        Q4 : out STD_LOGIC;
        Q5 : out STD_LOGIC;
        Q6 : out STD_LOGIC;
        SHIFTOUT1 : out STD_LOGIC;
        SHIFTOUT2 : out STD_LOGIC;
        BITSLIP : in STD_LOGIC;
        CE1 : in STD_LOGIC;
        CE2 : in STD_LOGIC;
        CLK : in STD_LOGIC;
        CLKDIV : in STD_LOGIC;
        D : in STD_LOGIC;
        DLYCE : in STD_LOGIC;
        DLYINC : in STD_LOGIC;
        DLYRST : in STD_LOGIC;
        OCLK : in STD_LOGIC;
        REV : in STD_LOGIC;
        SHIFTIN1 : in STD_LOGIC;
        SHIFTIN2 : in STD_LOGIC;
        SR : in STD_LOGIC
    );
end component;
-- Component Attribute specification for ISERDES
-- should be placed after architecture declaration but
-- before the "begin" keyword
attribute BITSLIP_ENABLE : string;
attribute DATA_RATE : string;
attribute DATA_WIDTH : integer;
attribute INTERFACE_TYPE : string;
attribute IOBDELAY : string;
attribute IOBDELAY_TYPE : string;
attribute IOBDELAY_VALUE : integer;
attribute NUM_CE : integer;
attribute SERDES_MODE : string;
signal logic0, logic1 : std_logic;
begin
    logic0 <= '0';
    logic1 <= '1';
    
    U1 : ISERDES
    -- synthesis translate_off
    generic map (
        BITSLIP_ENABLE => "FALSE", --(TRUE, FALSE)
        DATA_RATE => "DDR", --(SDR, DDR)
        DATA_WIDTH => 6, --(2,3,4,5,6,7,8,10)
        INTERFACE_TYPE => "MEMORY", --(MEMORY, NETWORKING)
        IOBDELAY => "NONE", --(NONE,IBUF,IFD,BOTH)
        IOBDELAY_TYPE => "DEFAULT", --(DEFAULT, FIXED, VARIABLE)
        IOBDELAY_VALUE => 0, --(0 to 63)
        NUM_CE => 1, --(1,2)
        SERDES_MODE => "MASTER", --(MASTER, SLAVE)
    );
    --synthesis translate_on
    port map (
        O => data_output,
        Q1 => Q(0),
        Q2 => Q(1),
        Q3 => Q(2),
        Q4 => Q(3),
        Q5 => Q(4),
        Q6 => Q(5),
        SHIFTOUT1 => open,
        SHIFTOUT2 => open,
        BITSLIP => bitslip,
        CE1 => ce,
        CE2 => logic1,
        CLK => clk,
        CLKDIV => clkdiv,
        D => data_input,
        DLYCE => dlyce,
        DLYINC => dlyinc,
        DLYRST => dlyrst,
        OCLK => logic0,
        REV => logic0,
        SHIFTIN1 => logic0,
        SHIFTIN2 => logic0,
        SR => rst
    );
end RTL;



OSERDESの方を先にやってみることにする。
  1. 2006年07月14日 19:56 |
  2. Virtex4のお勉強
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/265-8b18e257
この記事にトラックバックする(FC2ブログユーザー)