Перейти к содержанию
    

ViKo

Модератор
  • Постов

    12 216
  • Зарегистрирован

Весь контент ViKo


  1. Похоже, это предел работы для MAX. Если показывает частоту 130 MHz, то только такую и можно гарантировать рабочей. Все "извращения" мало чего дадут. Нужно изменить требования задания. Например, зачем счетчик на 24 разряда? Если вход 8-разрядный. Значит, когда-то куда-то подсчитанное значение забрасывается? Чаще забрасывайте, а разрядность уменьшите.
  2. Совать сбросы во все триггеры совсем не обязательно. Я, кажется, совсем, не использовал внешнего сброса в своих проектах. А сигналы в блоках описываются в последовательности, согласно приоритетам сигналов, реализованным в железе. Т.е. reset_n (а в железе он именно активный нулем) "пересилит" сигнал разрешения, и т.д. Приоритеты можно понять, изучая свойства триггеров в Помощи, например. P.S. не смог за 5 попыток прикрепить картинку из Помощи Inputs Output CLRN PRN ENA D CLK Q L H X X X L H L X X X H L L X X X L H H L X X Qo* H H H L / L H H H H / H H H X X L Qo
  3. Разность (разница) (времени) между тактовым сигналом и выходным P.S. дальше написано "...называется задержкой распространения"?
  4. Потому что у вас нет предупреждений. Я на свои 10% кликнул - удостоверился - получил за то, за что и предполагал. И от того, от кого предполагал :) А кубики - чем больше, тем лучше! Собирайте кубики :) ой, ошибся! Там 2 ряда кубиков. Я про верхний ряд говорил.
  5. Оговоренная выше проблема с пустым маркером без ссылки осталась, если зайти в "Личные данные / Архивирование сообщений, Слежение за сообщениями", наверное, и т.д. Не везде исправлено.
  6. Я давал парочку советов. Попробуйте. Интересно ведь. :) Про "1", расскажите еще раз. Была ПЛИС, процессор, и между ними ADG? А со стороны процессора какая нагрузка была для ADG? И со стороны ПЛИС?
  7. Во - ссылку нашел. http://www.keil.com/support/docs/1868.htm Они у меня глобальные. На этот счет тоже можно поспорить. Но не буду. Я выбрал свой путь.
  8. Получилось! Забыл поблагодарить! Спасибо!! Так советует Keil. иначе как бы я запретил инициализацию в ненужном файле? В ответ на ваше дополнение - то, что вы предложили, делается у меня автоматически, благодаря макросу. Причем сразу во всех файлах проекта. И вам советую. Решение MrYuran меня устраивает на все 100%.
  9. Оторвите нагрузку (дорожку отрежьте, ножку приподнимите...) от тех, что дают 0, и посмотрите, сколько дадут. И вообще, на к.з. прозвонить выходы.
  10. Чтобы не определялось снова в других файлах. Только в одном инициализируется, а в остальных вместо INIT пустота (см. первое макро).
  11. И про эти двойные - не знаю зачем. Подскажите. И на мои двойные ругается. DECL LCDMode_t LCDMode INIT(({1, 3, 0})); warning: #520-D: initialization with "{...}" expected for aggregate object error: #29: expected an expression Я ж говорю, перепробовал всякое. Вот так работает. Только это ж не то. DECL LCDMode_t LCDMode INIT({0});
  12. Имею макро, как описано на сайте Keil (только без подчеркиваний) #ifndef VAR_DECLS #define DECL extern #define INIT(x) #else #define DECL #define INIT(x) = x #endif В одном из файлов (Main.c), задаю VAR_DECLS, там эти переменные определяются и инициализируются. В остальных - только объявляются. Классика. Имею тип структуры, и пытаюсь ее определить typedef struct { int WorkAreaWide : 1; // Work Area Wide int WorkScaleForm : 2; // Work Scale Form int dummy : 6; } LCDMode_t __attribute__((bitband)); DECL LCDMode_t LCDMode INIT({1, 3, 0}); На последнюю строку компилятор ругается error: #55: too many arguments in macro invocation Как? Как сделать, чтоб работало? У меня - никакие фокусы не проходят.
  13. Помеха как пришла, так и уйдет. Я думаю, главная и единственная проблема - иметь высокоомные входы устройств, подключенных к выводам транслятора уровней.
  14. Попал в эту тему по внешней ссылке. Именно так я бы и делал. Прицепил бы подтягивающие резисторы, и горя не знал бы. Может, только быстродействие было бы чуть хуже, чем могло бы быть при другой схеме...
  15. 2 murmel1 А что подключено к другому концу шлейфа?
  16. "Меня терзают смутные сомнения". Вот так просто - задал задержку, и все? А на 100 нс сможет?
  17. Можно попробовать запараллелить парочку каналов трансляторов. Тогда выходное сопротивление станет 3 кОм. Вдруг да поможет. Тогда просто напаяете на каждую ADG3308 еще по одной такой же.
  18. Подаем с ПЛИС лог. ноль на АП6. C АП6 течет входной ток 0.1 mA, на 6 kOhm внутри ADG падает 0.6 V. Таким образом, на входе ADG, подключенном к ПЛИС АП, уже не 0 V, а, как минимум, 0.6 V. Добавьте выходное напряжение нуля ПЛИС. Этот уровень уже не должен восприниматься ADG, как нуль. upd. Зачеркнутое - лишнее, оно здесь никак не участвует. Увлекся :)
  19. Нужно, чтобы нагрузка, подключенная к выходам преобразователя, была небольшой (высокоомной). Если из-за делителя (из резистора в преобразователе и нагрузки) выходное напряжение после преобразователя упадет ниже Vcc - 0.3V, преобразователь не будет понимать эти уровни по входу, как 1. То же происходит и с уровнем 0. В-общем, на ТТЛ может и не заработает. А на кнопке - попробуйте подтягивающие резисторы по 100 Ом, например. А конденсаторы отпаяйте. P.S. все, что пишу - только теоретические рассуждения, практически - не сталкивался.
  20. эту тему читали? http://electronix.ru/forum/index.php?showtopic=77362
  21. Там только треугольничек - маркер. Никакой ссылки нет. Лишняя строка с маркером. Кажется, была всегда... Вот код <img src='style_images/1/nav_m_dark.gif' border='0' alt='.' /> <a href="http://electronix.ru/forum/index.php?act=UserCP&CODE=personal_portal_form">Изменить настройки анкеты</a><br /> <img src='style_images/1/nav_m_dark.gif' border='0' alt='.' /> <a href="http://electronix.ru/forum/index.php?act=UserCP&CODE=about_me_form"></a><br /> Нужно добавить текст "Обо мне" между <a> и </a>. Тогда и ссылка должна появиться.
  22. ... особенно, если учесть, что на 1 mm дорожки печатной платы получается задержка в 5 ps. Похоже, те задержки применимы только для точного выравнивания перекосов в многоразрядных векторах...
  23. 0..7 ns upd. обманул! Это безразмерная величина. А реальная задержка см. ниже.
  24. Обманул чуток, не CARRY использовал, а CASCADE. Первых требовалось слишком много (малую задержку дают), а вторых хватало. Dly0 = Clk & TimPls; for i in 1 to MeasWid-1 generate Dly[i] = cascade(Dly[i-1]) & Busy; end generate; Hold[].clk = global(TrigLck); Hold[].ena = TrigEna; Hold[].d = Dly[]; И неравномерность (нелинейность) кода была, когда из одного LAB в другой переходили сигналы.
×
×
  • Создать...