Jump to content

    

Recommended Posts

Необходимо подключить несколько входных буферов к шине,

Написал такой текст:

COMPONENT ibuf PORT ( I : IN STD_LOGIC;

O : OUT STD_LOGIC );

 

U0 : ibuf PORT MAP(

I => Ii(0),

O => Io(0) );

 

U1 : ibuf PORT MAP(

I => Ii(1),

O => Io(1) );

*

*

*

но при трассировке в ModelSim 6.0c, при подаче сигнала на шину Ii на шине Io одни "UUUU...".

Почему так происходит?

 

То же самое и с IObuf...

Share this post


Link to post
Share on other sites

Если не секрет, зачем это нужно? Ведь при синтезе буфера добавляются автоматически. Если все-таки есть такая необходимость (особенные буферы PCI или еще что), наверно, нужно подключить UNISIM, а как компонент IBUF, вроде можно и не описывать.

Share this post


Link to post
Share on other sites

По поводу простых сигналов я с Вами соглашусь,

а если это шина LVDS, то как мне сказать синтезатору что за сигнал и что для него необходим входной триггер?

Share this post


Link to post
Share on other sites
а если это шина LVDS, то как мне сказать синтезатору что за сигнал и что для него необходим входной триггер?

А вот LVDS буферы надо прописывать явно. Там же два пина.

Share this post


Link to post
Share on other sites

Код вашего компонента ibuf в студию! А то гадаем тут на кофейной гуще, в телепатов играем. :biggrin:

А вообще правильно сказали: если это не LVDS, то явно буфера указывать не надо.

Share this post


Link to post
Share on other sites

Вот они!

Приложить не получилось, так что вставил!

 

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

-- Uncomment the following lines to use the declarations that are

-- provided for instantiating Xilinx primitive components.

--library UNISIM;

--use UNISIM.VComponents.all;

 

entity B_LV is

Port ( DI : in std_logic;

DO : out std_logic;

CLK : in std_logic;

Dp : inout std_logic;

Dm : inout std_logic;

T : in std_logic);

end B_LV;

 

architecture Behavioral of B_LV is

 

-- COMPONENT IOBUF_LVDS

COMPONENT IOBUF_LVDS

PORT ( I : IN STD_LOGIC;

O : OUT STD_LOGIC;

IO : INOUT STD_LOGIC;

T : IN STD_LOGIC );

 

END COMPONENT;

 

COMPONENT FD

PORT ( D : IN STD_LOGIC;

Q : OUT STD_LOGIC;

C : IN STD_LOGIC );

END COMPONENT;

 

SIGNAL Dvo : std_logic;

SIGNAL Dvi : std_logic;

SIGNAL Dinv : std_logic;

SIGNAL Dvrem : std_logic;

 

attribute iob : string;

attribute OPEN_DRAIN : string;

attribute FAST : string;

attribute IOB of FD : component is "TRUE";

attribute OPEN_DRAIN of Dp : signal is "TRUE";

attribute OPEN_DRAIN of Dm : signal is "TRUE";

attribute FAST of Dp : signal is "true";

 

begin

-- ATTRIBUTE IOB <= true;

 

 

 

D0 : fd PORT MAP (

D => DI,

Q => Dvo,

C => CLK );

 

D1 : fd PORT MAP (

D => Dvi,

Q => DO,

C => CLK );

 

Dinv <= not(Dvo);

 

IO0 : IOBUF_LVDS PORT MAP(

I => Dvo,

O => Dvi,

T => T,

IO =>Dp );

 

IO1 : IOBUF_LVDS PORT MAP(

I => Dinv,

O => Dvrem,

T => T,

IO =>Dm );

 

end Behavioral;

Share this post


Link to post
Share on other sites

Компоненты IOBUF_LVDS и FD --- примитивы Xilinx. Нужны их симуляционные модели. Делается так:

 

-- syntesis translate_off
library UNISIM;
use UNISIM.VComponents.all;
-- syntesis translate_on

architecture Behavioral of B_LV is

COMPONENT IOBUF_LVDS
PORT(
        I   : IN STD_LOGIC; 
        O  : OUT  STD_LOGIC;
        IO : INOUT STD_LOGIC;
        T   : IN STD_LOGIC
       );
END COMPONENT;

COMPONENT FD
PORT(
        D : IN STD_LOGIC; 
        Q : OUT  STD_LOGIC;
        C  : IN STD_LOGIC
      );
END COMPONENT;

-- syntesis translate_off
-- sumulation models
for all: IOBUF_LVDS use
    entity UNISIM.IOBUF_LVDS(IOBUF_LVDS_V);

for all: FD use
    entity UNISIM.FD(FD_V);
-- syntesis translate_on

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this