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

 
 
> Новичковое: тайминг
ReedCat
сообщение Jan 29 2008, 14:13
Сообщение #1


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

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Разглядывая различные дизайны встретил вот такого типа конструкцию:

always @(posedge clk) R12 <= L11;
...
...
always @(posedge clk) L11<=R17;

Показалось, что рискованно устанавливать сигнал на фронте и на том же фронте его использовать.
Я прав?

В других же дизайнах аналогичного вида конструкция имела вид:

always @(posedge clk) R12 <= #1 L11;
...
always @(posedge clk) L11 <= #1 R17;

Здесь явно пытались решить эту как раз проблему задержав изменение сигнала на некий момент после его использования.

Собственно два вопроса:
1. Достаточно ли в таких случаях одной единицы времени и как понять, если недостаточно?
2. Почему не используется (привычное мне smile.gif "разведение" сигналов типа

always @(posedge clk) R12<= L11;
...
always @(negedge clk) L11<=R17;
Есть в этом решении какие-то подводные камни?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RobFPGA
сообщение Jan 29 2008, 20:51
Сообщение #2


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!


В AldecHDL у меня такое периодически встречалось (версий 5.. 6.. , в 7 вроде пока не попадалось).
В основном это выражалось в записи в тригер значения которое по логике формировалось ПОСЛЕ фронта по которому происходила запись. Какой либо закономерности появления этих глюков я не нашел, да вобщем сильно и не искал (но в основном это были довольно большие проекты с несколькими десятками модулей) . Но крови это мне на паре проектов попортило очень много. Причем появление глюка иногда зависело от расположения строк текста в исходнике.

Успехов! Rob.
Go to the top of the page
 
+Quote Post



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

 


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


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