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

 
 
> Новичковое: тайминг
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 30 2008, 11:12
Сообщение #2


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

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



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

to sazh
Я имел ввиду именно глюк симулятора ActivtHDL при симуляции неблокирующих присваиваний.
упрощенно это выглядело так

reg rA,rB;

wire input_regA, inpul_regB;

assign inpul_regA= логика для регистра rA

always @(posedge clk)
rA <= input_regA;

assign input_regB= логика для регистра rB зависящая от rA;

always @(posedge clk)
rB <= input_regB;

При глюке в регистр rB записывалось значение которое получалось ПОСЛЕ записи значения в регистр rA;

При перестановки местами always блоков в исходном файле глюк мог не проявлятся.

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



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:40
Рейтинг@Mail.ru


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