реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Входной порт на тактовый сигнал синхронного элемента.
Mad_max
сообщение Oct 15 2009, 07:10
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Доброго времени суток!

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

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

Спасибо!
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 15 2009, 07:14
Сообщение #2


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



например пропустить через логику. Может всётаки вход N даёт ошибку?
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Oct 15 2009, 07:57
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(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
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Oct 15 2009, 08:07
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Цитата(Mad_max @ Oct 15 2009, 11:10) *
Необходимо на тактовый вход триггера завести цепь от вывода плис.
...
Как ISE сообщить, что это ни какой не тактовый сигнал а просто I/O?

Зачем обманывать? Лучше по хорошему попросить.
Создайте руками IO buffer и соедините его напрямую куда нужно.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 15 2009, 12:42
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Проблема разумеется не в том, что он думает об этом сигнале, а в том, что на тактовые цепи не с любой ножки можно подавать сигнал. Физически нет пути от выбранного вами вывода в клоковое дерево. Поэтому просто пересэмплируйте его, как на форуме посоветовали.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Oct 15 2009, 12:59
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Цитата(DmitryR @ Oct 15 2009, 16:42) *
Проблема разумеется не в том, что он думает об этом сигнале

Возможно, но я не заметил тип микросхемы, так что подозреваю, что все неприятности от "Add IO Buffers" в первую очередь и автоматическое формирование цепочки из BUFGMUX или что там.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Oct 16 2009, 03:00
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Хочу поправить себя.
Ручное формирование входного буфера не мешает синтезатору автоматически добавить глобальный буфер.
Так как подавать клок по локальным проводам бывает полезно, такая возможность обычно есть.
Ключевое знание, которое извлекается из 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;
Go to the top of the page
 
+Quote Post
troiden
сообщение Oct 16 2009, 05:36
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 19-02-09
Из: Москва
Пользователь №: 45 069



В ucf-файл добавить для нужного пина параметр CLOCK_DEDICATED_ROUTE = FALSE
Вообще вроде как при имплементе данная рекомендация выводится в сообщении об ошибке.

Сообщение отредактировал troiden - Oct 16 2009, 05:36
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016