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

 
 
 
Reply to this topicStart new topic
> Не работает BUFGMUX Spartan-3
kaktus
сообщение Jun 7 2011, 13:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-05
Из: Санкт-Петербург
Пользователь №: 4 756



Код
BUFGMUX_inst : BUFGMUX
   port map (
      O => CLK155_int,        -- Clock MUX output
      I0 => CLK155W_ibuf,          -- Clock0 input
      I1 => CLK155P_ibuf,          -- Clock1 input
      S => Protect             -- Clock select input
   );                            
                            
Protect <= '1' when ((ALARM_SW_P & ALARM_SW_W) = "01") else '0'; -- '0' is Failure


Нарушая все правила хорошего тона подключаю чипскоп ко всем сигналам, включая тактовые.
При Protect = 0 все работает. При Protect = 1 на CLK155P_ibuf есть частота, на CLK155_int висит 1.
Проблема возникла видимо после одной из перекомпиляций проекта, т.к. раньше работало.
В UCF обоим сигналам прописан CLOCK_DEDICATED_ROUTE = false, т.к. оба сигнала прходят диф. парами на
тактовые входы, расположенные рядом и в железе действительно нет места обоим.
ISE 11.5
Spartan - 3, XC3S2000-4FG456
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Jun 7 2011, 13:46
Сообщение #2


Знающий
****

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



Чудес не бывает (С), поэтому хочется узнать про сигнал Protect.
ALARM_SW_P и ALARM_SW_W - константы?

Имел дело с BUFGMUX на максимальных частотах. В полный рост проявляется время распространения от входа до глобальной сети и снова до входа "S". Если сигнал Protect является выходом какого-то регистра, то запросто может наблюдаться стробоскопический эффект в чипскопе, а временные ограничения BUFGMUX нарушаются. Кстати, они прописаны в UCF-файле?
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Jun 7 2011, 18:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(kaktus @ Jun 7 2011, 20:03) *
Код
BUFGMUX_inst : BUFGMUX
   port map (
      O => CLK155_int,        -- Clock MUX output
      I0 => CLK155W_ibuf,          -- Clock0 input
      I1 => CLK155P_ibuf,          -- Clock1 input
      S => Protect             -- Clock select input
   );                            
                            
Protect <= '1' when ((ALARM_SW_P & ALARM_SW_W) = "01") else '0'; -- '0' is Failure


Нарушая все правила хорошего тона подключаю чипскоп ко всем сигналам, включая тактовые.
При Protect = 0 все работает. При Protect = 1 на CLK155P_ibuf есть частота, на CLK155_int висит 1.
Проблема возникла видимо после одной из перекомпиляций проекта, т.к. раньше работало.
В UCF обоим сигналам прописан CLOCK_DEDICATED_ROUTE = false, т.к. оба сигнала прходят диф. парами на
тактовые входы, расположенные рядом и в железе действительно нет места обоим.
ISE 11.5
Spartan - 3, XC3S2000-4FG456

Для успешного переключения обе частоты должны пристствовать. Иначе антиглитчевая логика этой переключалки (BUFGMUX) просто не срабатывает. В последних версиях ISE в примитве BUFGMUX появился GENERIC, позволяющий обойти это ограничение. Не помню точно, как называется. Что-то типа ASYNC = TRUE. Не уверен что это сработает для Спартана3, уж больно древнее семейство, но для Спартана3А это точно работает.

З Ы Не поленился - полазил по хелпам, атрибут называется CLK_SEL_TYPE. Принимает значения SYNC(default) и ASYNC. В версии 11 ISE точно поддерживается. В версии 12.3 почему-то уже нет упоминания о нём, только для 6 спартана. В ообщем, зайдите на сайт Xilinx, сделайте поиск по слову CLK_SEL_TYPE - и будет вам много новой и неожиданной информации.

З З Ы Симуляторы, кстати, в курсе этой чудесной особенности элемента BUFGMUX.
Go to the top of the page
 
+Quote Post
kaktus
сообщение Jun 10 2011, 07:57
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-05
Из: Санкт-Петербург
Пользователь №: 4 756



Спасибо, попробую поставить эксперимент с атрибутом. Странно то, что такая же переключалка работает в другой аналогичной плате, да и здесь работала до какого-то момента.

Protect не изменяется постоянно. Он принимает одно из состояний при включении. Сигналы ALARM статические, сообщают о наличии источников частоты (Work/Protect).
Go to the top of the page
 
+Quote Post

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

 


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


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