Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Входной порт на тактовый сигнал синхронного элемента.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Mad_max
Доброго времени суток!

Такой вот вопрос.
Необходимо на тактовый вход триггера завести цепь от вывода плис.
ISE, что логично, понимает эту ситуацию, что на этот вывод приходит тактовый сигнал.
Проводит его через голобальный буфер а потом выдает ошибку, что этот вывод P пара диф
входа и мол на такой вывод я не могу подавать тактовый сигнал.

Как ISE сообщить, что это ни какой не тактовый сигнал а просто I/O?

Спасибо!
rv3dll(lex)
например пропустить через логику. Может всётаки вход N даёт ошибку?
Mad_max
Цитата(Mad_max @ Oct 15 2009, 11:18) *
Да надо попробовать прогнать через буфер.

Неа, номер не прошел!

Цитата(Mad_max @ Oct 15 2009, 11:25) *
Неа, номер не прошел!

Во как оно Михалыч, асашайцы предлагают поступать с асинхронным входом.
http://forums.xilinx.com/xlnx/board/messag...y.id=1277#M1508

Хотя, раньше дребезг от кнопок давился дедовским способом, с входа на клок триггера, дальше задержка
и формирование чистого импульса. И старенький ISE8.2 все это прожевывал smile.gif
Shtirlits
Цитата(Mad_max @ Oct 15 2009, 11:10) *
Необходимо на тактовый вход триггера завести цепь от вывода плис.
...
Как ISE сообщить, что это ни какой не тактовый сигнал а просто I/O?

Зачем обманывать? Лучше по хорошему попросить.
Создайте руками IO buffer и соедините его напрямую куда нужно.
DmitryR
Проблема разумеется не в том, что он думает об этом сигнале, а в том, что на тактовые цепи не с любой ножки можно подавать сигнал. Физически нет пути от выбранного вами вывода в клоковое дерево. Поэтому просто пересэмплируйте его, как на форуме посоветовали.
Shtirlits
Цитата(DmitryR @ Oct 15 2009, 16:42) *
Проблема разумеется не в том, что он думает об этом сигнале

Возможно, но я не заметил тип микросхемы, так что подозреваю, что все неприятности от "Add IO Buffers" в первую очередь и автоматическое формирование цепочки из BUFGMUX или что там.
Shtirlits
Хочу поправить себя.
Ручное формирование входного буфера не мешает синтезатору автоматически добавить глобальный буфер.
Так как подавать клок по локальным проводам бывает полезно, такая возможность обычно есть.
Ключевое знание, которое извлекается из XST User's guide или аналогичного документа для другого синтезатора - атрибут buffer_type.
Пример ниже проверил для Virtex-IIpro и Virtex-5.

Код
library IEEE;
use IEEE.std_logic_1164.all;

entity clk_buf is
    port (
        local_clk    : in std_logic;
        byte_in        : in std_logic_vector(7 downto 0);
        bute_out    : out std_logic_vector(7 downto 0)
    );
end clk_buf;

architecture xilinx of clk_buf is
    
    attribute buffer_type: string;
    attribute buffer_type of local_clk: signal is    "ibuf";

begin
    
    process(local_clk)
        begin
            if rising_edge(local_clk) then
                bute_out <= byte_in;
            end if;
        end process;
    
end xilinx;
troiden
В ucf-файл добавить для нужного пина параметр CLOCK_DEDICATED_ROUTE = FALSE
Вообще вроде как при имплементе данная рекомендация выводится в сообщении об ошибке.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.