Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ibuf в ISE
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
DLR
Необходимо подключить несколько входных буферов к шине,
Написал такой текст:
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...
BSV
Если не секрет, зачем это нужно? Ведь при синтезе буфера добавляются автоматически. Если все-таки есть такая необходимость (особенные буферы PCI или еще что), наверно, нужно подключить UNISIM, а как компонент IBUF, вроде можно и не описывать.
DLR
По поводу простых сигналов я с Вами соглашусь,
а если это шина LVDS, то как мне сказать синтезатору что за сигнал и что для него необходим входной триггер?
andrew_b
Цитата(DLR @ May 31 2005, 09:08)
а если это шина LVDS, то как мне сказать синтезатору что за сигнал и что для него необходим входной триггер?

А вот LVDS буферы надо прописывать явно. Там же два пина.
DLR
Ну вот именно описанием такого типа, как представленно выше, ничего не работает!!! (на выходе одни 'U')
MAZZI
подключи библиотеки Xilinx в ModelSim, вполне возможно из-за этого
DLR
Все четыре библиотеки подключенны!
andrew_b
Код вашего компонента ibuf в студию! А то гадаем тут на кофейной гуще, в телепатов играем. biggrin.gif
А вообще правильно сказали: если это не LVDS, то явно буфера указывать не надо.
DLR
Вот они!
Приложить не получилось, так что вставил!

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;
andrew_b
Компоненты 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
vitus_strom
откоментировать строки

library UNISIM;
use UNISIM.VComponents.all;

там же красным по зеленому написано
а трансляцию выключать совсем не обязательно
DLR
Да!!!
Слона я и не заметил!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.