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

 
 
> Вопрос новичка по ПЛИСам
D-Luxe
сообщение Jun 15 2011, 17:45
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642



Меня интересует следующий вопрос: допустим описываешь простейшую схему, которая входит в состав большого проекта.
Ниже примерчик.
Код
process(clk)
begin
if ( clk'event and clk='1' ) then
y <= a + b;
z <= c + d;
e <= y + z;
end if;
end process;


Допустим после трассировки y находится в одной части кристалла, а z и e в другой части кристалла. Возможна ли такая ситуация, что y подается на сложение с z со значительной задержкой, в итоге в e защелкивается неправильное значение.

Если такая ситуация возможно то как с этим бороться?

Пример возможно довольно грубый, но надеюсь проблема понятна (проблема которая возникает в синхронной схеме из-за задержек после трассировки).


--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yuri_d
сообщение Jun 15 2011, 18:02
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274



Да, для Вашего примера будет достаточно констрейна на clk. Но это в итоге покроет только пути y -> e и z -> e. Сумматоры a+b и c+d остаются не покрытыми, так как неизвестно происхождение a, b, c и d.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jun 16 2011, 08:54
Сообщение #3


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата
Допустим после трассировки y находится в одной части кристалла, а z и e в другой части кристалла. Возможна ли такая ситуация, что y подается на сложение с z со значительной задержкой, в итоге в e защелкивается неправильное значение

Вобще ситуация вполне возможна при большой загрузке кристалла и большой разрядности сумматоров. При задании тактовой частоты Вы сможете определить максимальную тактовую частоту register-to-register.
Если a b c d есть выходы регистра или триггера той же тактовой частоты, то задание тактовой частоты clk будет достаточным для определения максимальной тактовой частоты.
Если выходы a b c d выходные триггеры другой тактовой частоты, то требуется задать соотношения этих тактовых частот и создать схему синхронизации перехода из одного клокового домена в другой.
Если это вообще неизвестные входные сигналы, то требуется задать ограничения и соотношения по входам, но обычно в любом случае их каким то образом записывают в регистры через приемную логику.
Go to the top of the page
 
+Quote Post
artix
сообщение Jul 7 2011, 08:30
Сообщение #4


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

Группа: Свой
Сообщений: 136
Регистрация: 19-10-10
Из: Киев
Пользователь №: 60 262



Цитата(bogaev_roman @ Jun 16 2011, 12:54) *
....Если выходы a b c d выходные триггеры другой тактовой частоты, то требуется задать соотношения этих тактовых частот и создать схему синхронизации перехода из одного клокового домена в другой.....


извиняюсь если офтоп но не хотелось плодить новую тему раз уж в этой зацепили этот вопрос. laughing.gif а как правильно обконстрейнить кросклоковую передачу сигнала между двумя клоковыми доменами в xilinx, схема синхронизации стандартная на базе тригеров. Заранее благодарен
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 00:59
Рейтинг@Mail.ru


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