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

 
 
> Virtex4 + ISE Foundation тактирование по двум клокам, создание проекта с тактированием по двум клокам
MarkII
сообщение Aug 10 2009, 15:51
Сообщение #1





Группа: Участник
Сообщений: 4
Регистрация: 28-01-09
Пользователь №: 44 091



Помогите! Возникла проблема с синтезом проекта в ISE Foundation 10.1i Тактирование осуществляется по двум тактовым сигналам. Синтаксически проект компилируется в ModelSim'e. Проект представляет из себя организацию двунаправленного последовательного порта с записью/чтением данных в память, организованную внутри ПЛИС. Необходимо синхронизировать схему по обоим фронтам. При приеме данных синхронизация происходит от сигнала передатчика (50 МГц) плюс вспомогательный внутренний клок удвоенной частоты, а при передаче данных - от внутреннего клока (50 МГц). Подскажите, пожалуйста, как стоить подобный проект?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MarkII
сообщение Aug 20 2009, 10:35
Сообщение #2





Группа: Участник
Сообщений: 4
Регистрация: 28-01-09
Пользователь №: 44 091



Нашел строку кода, из за которой выдается такое сообщение об ошибке. Закоментировал строку и синтез прошел удачно. Строка кода следующая:
flag <= clk_link_out'stable(12 ns);
busy <= '0' when flag else '1';

Если в двух словах, есть внешний тактовый сигнал, по которому принимаются данные, и требуется сделать сигнал (в данном случае busy), который бы устанавливался в "1" при наличии тактового сигнала "clk_link_out" на входе и падал в "0" при его отсутствии.
У кого какие идеи?
Go to the top of the page
 
+Quote Post
axalay
сообщение Aug 20 2009, 13:19
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 388
Регистрация: 27-02-06
Из: Москва
Пользователь №: 14 759



Цитата(MarkII @ Aug 20 2009, 14:35) *
Нашел строку кода, из за которой выдается такое сообщение об ошибке. Закоментировал строку и синтез прошел удачно. Строка кода следующая:
flag <= clk_link_out'stable(12 ns);
busy <= '0' when flag else '1';

Если в двух словах, есть внешний тактовый сигнал, по которому принимаются данные, и требуется сделать сигнал (в данном случае busy), который бы устанавливался в "1" при наличии тактового сигнала "clk_link_out" на входе и падал в "0" при его отсутствии.
У кого какие идеи?


Если есть уверенность что когда клока снаружи нет-то 0 есть простое решение:
Запускаешь счетчик с внутреннего такта, который будет +1 пока не больше константы. На асинхронный его сброс (активный 1) заводишь внешний клок. Пока счетчик не досчитал до константы - внешняя частота есть, иначе-частоте кердык. Если нет уверенности что если клока нет то либо 0 либо 1-чуток сложнее.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 5th August 2025 - 19:16
Рейтинг@Mail.ru


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