Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 08:34

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 00:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
oleg писал(а):
согласно выше приведенной блок схеме.


Попытался я сие на квартусе развести, он и вправду показывает порядкя 10 нс задержки... но это ОТ ВХОДОВ!.
Внутри проекта, когда входы от внутренних ресурсов, задержки меньше должны быть.

Кстати, проще написать
Код:
eqzero = (reg[] == 0);


И синхронизацию на регистр лучше прямо clk подавать, а не генерировать импульсы из сигналов выбора... от такого глюки полезут натуральные из-за гонок сигналов - кто быстрее, синхра сработает или выборка произойдет.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 00:46 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
oleg писал(а):
if reg[].q == 0 Then eqzero = Vcc;
ElsIf reg[].q != 0 Then eqzero = Gnd;
End if;


Ой, а так зачем? Vcc и Gnd - это именно силовые линии питания, трудно сказать, что синтезатор надумает, глядя на такую запись. Имелось в виду 1 и 0?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 00:58 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
У Альтеры присваивание: signal=1; приводит к ошибке :-(
числа присваивать можно только шинам, а не одиночным сигналам...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 01:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
В VHDL можно присвоить шине 1 (если она integer), а для сигнала надо взять его в одинарные кавычки - '1'. Может, и в AHDL такие варианты есть? А то лезть на питание как-то страшно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 03:09 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
Ой, а так зачем? Vcc и Gnd - это именно силовые линии питания, трудно сказать, что синтезатор надумает, глядя на такую запись. Имелось в виду 1 и 0?


вообще это не я придумал. В доке написано, если хотите присвоить какое-то константное значение сигналу, то подсоединяете их к одной из шин vcc иди gnd.
WingLion писал(а):
Попытался я сие на квартусе развести, он и вправду показывает порядкя 10 нс задержки... но это ОТ ВХОДОВ!.
Внутри проекта, когда входы от внутренних ресурсов, задержки меньше должны быть.

а как это проверить? у меня получаются задержки от 22 до 24 нс (время прохождения сигнала от входа до выхода регистра.)

Кстати, можно как-нибудь заставить группу блоков располагаться в одном столбце? а не раскидывать по всей микрухе равномерно??? То есть я хочу, чтобы регистр занимал весь столбец и не лез на следующий.

WingLion писал(а):
Кстати, проще написать
Код:
eqzero = (reg[] == 0);

8) я в начале вообще описывал компаратор через логику 8) Просто потом надоело.
Замечание учту 8)

WingLion писал(а):
И синхронизацию на регистр лучше прямо clk подавать, а не генерировать импульсы из сигналов выбора... от такого глюки полезут натуральные из-за гонок сигналов - кто быстрее, синхра сработает или выборка произойдет.

а я вот на это дело посмотрел, и хочу наоборот отказаться от clk. То есть просто фиксировать значение по приходу сигнала выбора одного из путей. Просто для этого нужно знать, как будет работать дешифратор команд ( а к нему я еще не подошел, делаю все остальное).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 06:04 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
oleg писал(а):
а как это проверить? у меня получаются задержки от 22 до 24 нс (время прохождения сигнала от входа до выхода регистра.)


Я для проверки таких вещей ставил на всех входах тригеры и пускал сигналы через них. MAX-Plus считал предельную частотту для clk ее период и есть максимальное время задержки между внутренними ресурсами (в зависимости от того, как разводка ляжет, разумеется).
В квартусе, по идее, такой финт тоже должен работать, но я просто не пробовал.

oleg писал(а):
а я вот на это дело посмотрел, и хочу наоборот отказаться от clk. То есть просто фиксировать значение по приходу сигнала выбора одного из путей.


Не знаю, что из этого выйдет, просто, есть у Альтеры еще одно ограничение при разводке - на каждый LAB - ограниченное количество входов синхронизации. Если синхру для тригеров генерить внутри, то этот параметр быстро вылезет за предел и начнутся натуральные трахи. Я с таким уже сталкивался, в том числе, когда на 10К10 проект делал. Мучался с этим делом очень долго, а Макс-плюс еще и ошибку эту совершенно нерегулярно находил. Квартус, с его "простотой", боюсь, будет просто вопить "no fit" без объяснения причин.
Хотя, не буду утверждать, что к этому придет. Просто, такое возможно, если плодить лишние клоки (и асинхронные сбросы установки, тоже).


oleg писал(а):
Кстати, можно как-нибудь заставить группу блоков располагаться в одном столбце? а не раскидывать по всей микрухе равномерно??? То есть я хочу, чтобы регистр занимал весь столбец и не лез на следующий.


В MAX-Plus-е для такого есть "assign Clique" - назначить группе элементов один и тот же Clique, и разводчик старается расположить эту группу компактно в ПЛИС-е. Я такими назначениями добивался приличных увеличений тактовой частоты для проектов. Вот только гадать приходилось, какие блоки располагать "вместе". А назначение одного Clique сразу всем - не всегда помогает. Если рядом не располагается, разводчик все равно схему раскидает по всей ПЛИС-ине.

Есть ли это делов в Квартусе - еще не знаю. В последних МАX-плюсах, где была опция "квартус" для разводчика, все время варнинг выскакивал, что clique квартусовским разводчиком не поддерживается :-( И из-за этого получалась "квартусу" прямая антиреклама...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 07:13 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
Может, и в AHDL такие варианты есть? А то лезть на питание как-то страшно.


В AHDL VCC и GND просто синонимы лог.1 и лог.0 и нет ничего "страшного" :)

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 22:34 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
WingLion писал(а):
В AHDL VCC и GND просто синонимы лог.1 и лог.0 и нет ничего "страшного" Smile


Это хорошо. Старые Xilinx Foundation вроде бы не очень любили gnd и vcc. Правда, на схемах не любили. Вобщем, я и привык задавать константы в видк '0', '1'.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 31, 2006 22:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
oleg писал(а):
а я вот на это дело посмотрел, и хочу наоборот отказаться от clk. То есть просто фиксировать значение по приходу сигнала выбора одного из путей. Просто для этого нужно знать, как будет работать дешифратор команд ( а к нему я еще не подошел, делаю все остальное).


Лучше так не делать. Причем чем современнее ПЛИС, тем лучше :) Будут гонки фронтов, более того, от одной трансляции к другой они будут разные (поскольку сформированные логикой тактовые сигналы будут каждый раз раскидываться разными путями). Вобщем, очень и очень рекомендуется так не делать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 00:33 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
Лучше так не делать. Причем чем современнее ПЛИС, тем лучше Будут гонки фронтов, более того, от одной трансляции к другой они будут разные (поскольку сформированные логикой тактовые сигналы будут каждый раз раскидываться разными путями). Вобщем, очень и очень рекомендуется так не делать.

Но что делать, очень хоцца 8)
Я ведь не собираюсь вообще устранять тактовую - это не реально, просто немного иной подхо в ее прохождении от одного устройства к другому. То есть тактовые импульсы на устройство подавать только в случае, если предполагается его срабатывание. Вот


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 00:40 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
oleg писал(а):
Но что делать, очень хоцца Cool
Я ведь не собираюсь вообще устранять тактовую - это не реально, просто немного иной подхо в ее прохождении от одного устройства к другому. То есть тактовые импульсы на устройство подавать только в случае, если предполагается его срабатывание. Вот


Плохой подход, настоятельно рекомендуемый к устранению. Для запрета срабатывания триггера есть штатный сигнал CE (Clock Enable), надо управлять им. А резать тактовую частоту означает ловить глюки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 06:17 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
и не только ловить, но и плодить!

P.S. Хотя, конечно, каждый вправе наступать на собственноручно выстроганные грабли.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 07:07 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
и не только ловить, но и плодить!

P.S. Хотя, конечно, каждый вправе наступать на собственноручно выстроганные грабли.


Ладно, подойдем с другой стороны ( то есть с хвоста ) 8)
на сколько симулятор maxII адекватно симулирует???


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 07:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
oleg писал(а):
Ладно, подойдем с другой стороны ( то есть с хвоста ) Cool
на сколько симулятор maxII адекватно симулирует???


Лично я не замечал, чтобы в железке не заработало что-то, что в симуляторе работало как надо.
Просто не всегда в симуляторе удается проверить все-все-все.

Когда период выходного сигнала 1000000 тактов, симулятору просто места на винте не хватает для отгрузки и комп захлебывается...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 01, 2006 07:35 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
oleg писал(а):
Ладно, подойдем с другой стороны ( то есть с хвоста ) Cool
на сколько симулятор maxII адекватно симулирует???


Лично я не замечал, чтобы в железке не заработало что-то, что в симуляторе работало как надо.
Просто не всегда в симуляторе удается проверить все-все-все.

Ясно, спасибо. Значит по симуляциям и будем ориентироваться


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB