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

bvn123

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о bvn123

  • Звание
    Частый гость
    Частый гость

Контакты

  • Сайт
    Array
  • ICQ
    Array

Посетители профиля

2 516 просмотров профиля
  • gridinp

  • AI7

  1. исходное желание - а не увеличить ли разрешение вдвое, не меняя плату и детали на ней. Сейчас самое простое решение - заменить кварцевый генератор, правда, 100МГц - уже есть, а также пошел/купил, 200МГц - заказ
  2. да, все это придется учитывать, хотя бы несимметричность источника 100МГц - по докам 50%±10%, а максимальная длительность фронта и спада 6нс для имеющегося на руках кварц.генератора просто не позволит его применить, разве что для себя. Когда все это добро поплывет в температуре... Спасибо, Yuri124, думаю, уже это достаточное основание для отказа от удвоения частоты до 200МГц. Итог: надо приобретать кварц.генератор 200МГц; удвоить частоту 100МГц в EPMxxxx-04, очевидно, можно, но с ухудшением параметров устройства, даже если это будет функционировать.
  3. Спасибо. Вы имеете ввиду, что устройство может заработать, а потом отказать при изменении температуры за счет изменения задержек?
  4. Synthesis-------- Ignore LCELL buffers - off и Synthesis-------- Ignores GLOBAL buffers - off Если правильно понял, в Quartus II: Settings \ Analysis & Synthesis Settings \ кнопка More settings \ здесь в списке оба Ignore Fitter----------- Auto Global Clock - on нашел здесь же: Settings \ Analysis & Synthesis Settings \ панель Auto Global Options (MAX Devices Only), на ней checkbox Clock - поставил галочку. Соединение выхода буфера lcell cо входом буфера global приводит к ошибке Error: GLOBAL buffer "inst10" must be driven by an INPUT pin or a GLOBAL buffer Вижу замечание "Note: MAX 3000 and MAX 7000 devices do not support logic-driven global signals" на странице Global Primitive здесь: https://www.intel.com/content/www/us/en/programmable/quartushelp/13.0/mergedProjects/hdl/prim/prim_file_global.htm Отдельно проверил добавление 2-х lcell - дополнительно съедается одна макроячейка и сигнал они задерживают на 3нс (симулятор)
  5. Такое решение было бы корректнее асинхронной схемы. Эту конструкцию надо добавлять в проекте VHDL? я работаю со схемами, можно ли её куда-то вписать как параметр для синтеза в Quartus? или только генерировать VHDL по схеме, затем в него добавлять эту конструкцию, затем делать проект по скорректированному файлу VHDL?
  6. да, проверил в проекте сразу после получения положительного результата с использованием схемы на последней картинке - в симуляторе все работает корректно. Согласен, с тактирования частой 200МГц надо было начинать - выбор "медленной" градации микросхемы -10N вместо -4N выплыл бы быстрее, с другой стороны я не уверен, что продолжил бы этим заниматься, если бы увидел, что счетчик не работает при 200МГц (и микросхеме с градацией -10N - кто бы об этом вспомнил...)
  7. Еще раз спасибо за ответы, я написал: "есть микросхемы -10нc, но есть и -4нс.", решил проверить, оказалось, в опциях была выбрана градация -10нс, заменил на -4нс, результат, полученный в симуляторе, на картинке: есть короткие импульсы 200МГц, счетчик их считает. Вопрос 1, поставленный _4afc_, остаётся: А EPM3064 по фронту и спаду работать не умеют? CPLD Xilinx - работали. Если кто-то знает, как это реализовать в CPLD Altera, прошу сообщить, как именно. Вопрос 2. Как правильнее оформить 200МГц как глобальную тактовую частоту: - подключать ли 100МГц к конт.37 (Global Clock pin) или к нему точно не подключать. - может, 100МГц подать на какой-то контакт общего назначения, а сигнал 200МГц вывести на какой-то соседний c 37-м контакт, чтобы соединить с конт.37 (Global Clock)? - или где-то в Quartus определить линию 200МГц с выхода "Искл.ИЛИ" как глобальную и тактовую? Где именно это делается? И можно ли в этом случае подключать 100МГц к конт. Global Clock?
  8. Спасибо за ответы. Если кто-то знает, как именно реализовать такую опцию в CPLD Altera, прошу сообщить. Статья интересная, спасибо. Я представляю, как удвоить частоту на цифровых ИС, в том числе как организовать это в Quartus, но в данном случае для частот ниже.100МГц, а в посте писал: "Получить импульсы/паузы порядка 2,5нс в симуляторе Quartus пока не удаётся.". То есть, для более низких частот (например, 25МГц) я могу реализовать удвоение частоты в Quartus с симуляцией сигнала. Конкретизирую вопрос: если по максимуму, хотелось бы получить графики сигналов в симуляторе Quartus при входной частоте 100МГц (на выходе 200МГц). По документации EPM3064 работает до 220МГц, есть микросхемы -10нc, но есть и -4нс. Или понять, что 200МГц организовать a) не получится, b) получится, но в симуляторе корректного отображения не будет. На вложенных картинках фрагмент схемы из предложенной статьи и его реализация с симуляцией при Fin = 25МГц (нормальная симуляция) то же при Fin-100МГц + окно с установками Timing Settings - может, там что-то поправить для работы на 100МГц, чтобы получить 200МГц на выходе в симуляторе? Или это невозможно?
  9. Я пробую в Quartus II для EPM3064 организовать тактирование от источника сигнала частотой 100МГц (период 10нс, импульс 5нс, пауза 5нс) по фронту и спаду, чтобы получить тактовую частоту 200МГц. Кварцевые генераторы 100МГц доступны, организация внешнего генератора 200МГц не интересует. Получить импульсы/паузы порядка 2,5нс в симуляторе Quartus пока не удаётся. Пробовал наращивать логические элементы (например, четное число элементов "not"), чтобы организовать задержку фронта, задержанный и прямой сигналы подать на "исключающее ИЛИ" - очевидно, выполняется оптимизация, задержка остается очень коротко, не зависящей от количества элементов; использовал D-триггер с выполнением асинхронного сброса сразу после появления "1" на его выходе Q (разные варианты триггера из библиотеки - и примитив, и из серии 74xx) - импульс в симуляторе порядка 6,5нс формируется только на каждый второй фронт; для инвертированного сигнала 100МГц.(чтобы организовать импульсы по спаду исходного сигнала) тот же результат. Подключал также источник 100МГц не к глобальному тактовому входу (EPM3064 \ конт.37) а к произвольному контакту, чтобы вывести импульсы 200МГц на конт.38 и соединить его физически с конт 37. Устанавливал в Settings \ Timing Analysis Settings : Clock Settings : Default required f max 200 MHz, также оставлял поле пустым. Самый непредсказуемый результат симуляции - на одном входе "исключающего ИЛИ" сигнал частотой 100МГц, второй вход соединен с выходом. Возможно, вариант с несколькими элементами для организации задержки прошел бы без симуляции, но будет проблема с оценкой скважности сигнала - нет подходящего осциллографа, поэтому хотелось бы увидеть корректный результат в симуляторе. Кто-нибудь пробовал получить тактирование по фронту и спаду поступающих импульсов? Когда-то обращался в поддержку Altera с вопросами по асинхронной работе, внятного ответа не получил.
  10. драматичненько, скорее, "на какой топливной смеси катать?" Спасибо, это по сути. Если gcc единственный компилятор для ESP, вопрос, наверное, можно считать решенным. Для avr я тестировал три компилятора (и ассемблер), они давали разную производительность и размер; поэтому полагал, что и для ESP могут быть варианты. Посмотрел, что предлагает Espressif (все-таки производитель ESP) - API и те же сторонние toolchain и среду Eclipse. Что остается - может, в какой-то среде оказалось бы проще все это связывать и/или поддержка лучше... Но в этом плане с эклипс на каком-то уровне уже разобрался. <По умолчанию в GCC используется уровень оптимизаций “-O0”.> ("Оптимальные опции для x86 GCC" Блог компании Intel Компиляторы *C *) - сведения из сети; уровень доверия соответствующий. Проверить с вводом разных ключей оптимизации несложно, тратить время не вижу смысла.
  11. Исходная цель - выбор среды разработки для ESP8266, пост размещался до того, как я разобрался с запуском эклипс+mingw+ESP8266 NONOS SDK. Поэтому хотелось сравнения от разработчиков устройств на ESP8266, ESP32 с опытом работы в разных средах разработки для ESP под Windows, что именно лучше, эффективнее из средств разработки и почему: Espressif Systems (производитель ESP8266, ESP32), arduino под ESP, PlarformIO, Eclipse, VS (это то, что мне попалось). Вроде таких: работал в VS, eclipse и..., но перешел на среду ..., потому что... Пока выводы следующие: ардуино - очень дружественная среда: без каких-либо статей и уроков установил, в течение нескольких минут запустил пример http-сервера, заменил IP, пароль и текст 'Hello world' на гипертекст, споткнулся на загрузке в ESP, быстро нашел установку COM-порта, загрузил, получил сервер с html-страничкой эклипс - возился несколько дней до загрузки проекта в ESP; наткнулся на 3 проблемы, ответов на форумах eclipse и mingw не получил, на electronix.ru по крайней мере натолкнули на решение одной из них, в итоге решил методом тыка. Эти же вопросы без ответов встречал в сети - наверняка многие на этом остановились. По результатам моего теста пока предпочту эклипс. Может, есть что-то более дружественное, но эффективное? До публикации результата сравнения ни одного ответа не было; после публикации - ни одного ответа по исходному вопросу. Если говорить о результатах сравнения, предложите, что сравнить - чтобы было просто и показательно; фразу 'я работаю с ESP' писать не надо, это подразумевается. Отладка в ассемблере? Она в Ардуино есть? Оптимизация в ардуино есть? Если да, как оптимизировать приведенную выше программу, чтобы получить исполнение одного цикла не за 10мкс, а как в эклипс, за 1,2мкс? С моими познаниями в ардуино и эклипсе пока мне проще посмотреть изменения осциллографом. Оптимизация в Eclipse - ключ оптимизации при компиляции в gcc не использовался, ожидал, что по умолчанию '-O0', ошибся? Сравнение разных библиотек, управляющих пином? Почему нет? Даже если исходники библиотек открыты, я планирую только использовать их в готовом виде. Интересно было бы мнение разработчиков именно под ESP в ардуино и в других средах разработки, работавших под windows.
  12. В чем показательность использования таймера или встроенного управляемого генератора (если бы он был) для сравнения средств разработки? одна среда разработки с "медленным" кодом установит регистры МК, управляющие генератором (таймером), за 100мкс, альтернативный код - за 10мкс, результат работы - одинаковая частота на выходе такого генератора. Попалось аналогичное сравнение: https://habr.com/ru/post/254163/ Общие соображения... Чего-либо нового для себя (кроме Клавы - не понял, о чем это, искать интереса нет) в Ваших сообщениях не нашел.
  13. Т.е., какую-то другую периферию модуля ESP8266... Какую именно? Думаю, простое переключение состояния вывода микроконтроллера показательно в этом плане. Если бы среди периферии ESP8266 оказался, например, ГУН, он управлялся бы через функции SDK - скорее всего максимальная частот ГУН была бы одинакова, независимо от того, какие среда/компилятор обращаются к этим функциям SDK. Пока я использую ESP8266, и ответы на вопрос темы "ESP8266, ESP32: сравнение средств разработки по эффективности: минимальный размер кода, максимальное быстродействие - где посмотреть?" меня интересуют, но хотелось бы конкретики и именно по вынесенному в тему вопросу.
  14. Как применить Ваши рекомендации к приведенному примеру для сравнения параметров импульсов в ардуино и эклипсе? Оптимизация в Eclipse не использовалась, для этого примера в ардуино она тоже вряд ли использовалась. Я хочу определиться со средой разработки, можете ли Вы что-то сообщить по вопросу темы? С ардуино не разбирался - в нем просто запуститься не составляет труда; с эклипсом повозился. Я не знаю, как в ардуино напрямую вызвать функции ESP8266 NonOS SDK и организовать цикл while() вместо loop(); большинство пользователей ардуино будет лишь слегка изменять готовые примеры, не углубляясь. Если Вы можете изменить пример ардуино File\Examples\Basics\Blink так, чтобы получить меньший период импульсов, было бы интересно посмотреть. Хорошо бы и задержки с шагом 1мкс вставить из ESP8266 NonOS SDK...
×
×
  • Создать...