Jump to content

    

Kluwer

Участник
  • Content Count

    302
  • Joined

  • Last visited

Everything posted by Kluwer


  1. Отвественно заявляю: все вышеприведённые ораторы правы. Бытовой GPS, работающий по стандартному коду вам 100% не подойдёт. Похожую проблему решали, только не для людей, а для самолётов (нужно было высокоточно измерять траекторию движения РЛС, установленной на борту). С учётом (наверняка) суровых денежных ограничений, разностные GPS-приёмники, или ГЛОНАСС-приёмники, работающие по ВТ-коду вам не подойдут. Так что, не тратьте время и перходите на другие датчики.
  2. Да что вы парню голову морочите?! Совсем отечественные инженегры отучились внятно элементарные вещи излагать! Всё ж просто: сдвиг сигнала по времени (по св-ву преобразов. Фурье (ПФ) соотвествует просто сдвигу по фазе в спектре. Очевидно, чтобы получить максимальную амплитуду суммарного сигнала, надо что бы они были в фазе и (желательно) минимально различалсиь по амплитудам (ну представьте вы две синусоиды складываете). Ну а для оценки (или подстройки) задержки (с точностью до фазы) и амплитуды есть уева туча методов и их модификаций. А если вдруг возникнет настолько охренительная задержка, что будет превышен межсимвольный интервал, то будут складываться разные символы. Вот и всё.
  3. Был перерыв где-то на месяц в работе с CCS версии 5.0.1.201102161400 с фирменной отладкой под 6670 от горячих техасских ковбоев. В последний раз всё работало. Запускаю - захотел какую-то лицензию, я его нафиг послал (выбрал последний пункт: "без лицензии"). Теперь он даже не собирает проект и кричит, что не может найти какой-то ti.csl. Кто может объяснить в чём дело? Заранее - спасибо.
  4. Люди, помогите, заколебался уже. Ранее никогда с LVDS не работал. Принесли отладку с Stratix IVGX, там управляемый генератор с LVDS-выходом. Перечитал уже, наверное, весь сайт Alterы. Мне нужно просто втащить эту частоту в камень как тактовую. Нет у меня никаких данных, не нужен мне ALTLVDS. Пытался даже на ALTPLL, но она не понимает разностных входов. Короче, два дня уже угробил! Помогите убогому
  5. Цитата(Methane @ Jul 24 2012, 12:00) Чем сейчас по быстрому (проект не большой) промоделировать MAX2 под linux64? Квартус 12 стоит, моделсим пишет что Правильно, обрезанный убогий моделсим, идущий в нагрузку с Квартусом обсчитывать проекты в верилоге вообще не может. Просто в свойствах проекта поставьте галку, что моделировать будете в вхдл. Должно помочь.
  6. Цитата(евгенийкочин @ Jul 27 2012, 13:53) Подскажите пожалуйста, столкнулся с такой проблемой, что отдельный блоки, которые вроде бы есть в блоксете xilinx в симулинке, попросту не работают. Да а на кой вам этот xilinx'ский blockset сдался. Гоните HDL-код из обычного блока "FIR filter" в Signal Processing (сейчас его в DSP blockset переименовали). Там есть, насколько помню, и галочка типа "загрузка внешних коэффицинтов", т.е. то, что вам надо - перегружаемые коэффициенты фильтра. Кстати сказать, HDL-код этот блок гонит очень хорошего качества с точки зрения оптимизации. Я сравнивал результаты сборки этого кода с тем, что гонит примочка FIR filter в Квартусе. Матлабовский код уступает максимум на 10% по быстродействию и площади. Думаю и в Xilinx то же самое будет.
  7. Цитата(Victor® @ Jun 25 2012, 22:37) Это конечно - жесть. И лучше так не делать. Если хочется экспериментировать - поищите примитив LCELL. На самом деле, ко всему надо подходить с головой. Советы типа "и лучше так не делать" ничем, на самом деле, не обоснованны. В старые добрые времена, когда ещё всё собиралось на "рассыпухе" только так и делали. И всё работало! Хотя разброс параметров советской логики был такой, что современные ПЛИСины кажутся просто образцом сверхточности. Так что делайте себе на здоровье, только заложите запас по задержке. А совет по поводу LCELL - верен. Только, если работаете в Квартусе (в Максе, по-моему, LCELL по умолчанию не удаляются) не забудьте поставить соотвествующую галочку в свойствах проекта. И будет вам счастье.
  8. О. ура, разобрался! Особый фэнкс jcxz'у, он меня навёл на решение этим сообщением: Цитата(jcxz @ Jul 6 2012, 07:08) Вы именно исходник DSP_fft32 взяли? Или скомпилённую библиотеку подключили? Если первое - возможно у вас эта функция скомпилялась неоптимально. Попробуйте библиотечную. Я использую второй вариант. просто в настройках проекта пришлось по максимуму поубивать всякие добавки, которые пришлёпывают для отладки. Теперь нельзя посмотреть не переменные, ни память, ничего. Но зато сразу всё ускорилось на порядок, по тестам выполнение одного БПФ - 1,7мкС, у меня получается чуть больше двух микросекунд. Это уже приемлимо. Хотя остался вопрос, что ж там сборщик такого понадобавлял в отладочный проект, что так всё тормозит?
  9. Добрый день всем! Происходят странные вещи. Работаю с C6670. Необходимо выполнять двумерное комплексное БПФ от матрицы размером NxN, где N=128. По скоростному отчёту (benchmark) TI одно ядро этого проца должно выполянть одномерное комплексное БПФ для N=128 при за 1680 циклов, т.е. при тактовой частоте F=983МГц около 2мкС. Правдоподобно. Но начальство этому не поверило и заставило меня реально в этом убедиться. Взял исходник функции DSP_fft32 из примера fft_example пакета DSPLIB 3.1. Загнал его в цикл NxNxM (для имитации 2D-FFT), где M-взято равным 50, что бы время выполнения было значительным. Запусаем в отладчике CCS 5.1 на одном ядре. Профилировщиком я даже не стал пользоваться - просто по секундомеру засекали. 26 секунд! Если поделить на NxNxM, то получается, что одно 128-точечное компл. БПФ выполняется около 30мкс!! Но это же, простите, показатели DSP 90х годов! Корифеи помогите, в чём здесь фокус?
  10. Цитата(bav @ Jul 5 2012, 16:10) как настроен CASH? где хранятся исходные данные? куда они уходят? правильно ли настроена тактовая (PLL)? Добрый день, bav, хоть кто-то ответил Кто такой CASH, к стыду своему, не знаю. И исходные данные (один и тот же массив размера 2N) и результаты расчёта (массив такого же размера) храняться в L1D и никуда не передаются. По поводу PLL: после выбора "Connect Target" консоль сообщает следующее: "PLL1 setup for DSP @ 983.0MHz, ..." Хотя мысль хорошая: а реально ли у меня тактовая частота такова? Надо будет проверить.
  11. На стартер ките Стратикса IV по требованию нач-ва начал переделывать старый проект, который был без проца под NIOS II. Раньше я проекты под ПЛИС со встроенным процом не делал, поэтому всё делал как в альтеровских примерах. В результате всё работает, кроме одного: двухстрочного 16-символьного LCD. Пробовал как в примерах: lcd = fopen(DISPLAY_NAME, "w"); if (lcd > 0) fprintf(lcd, ...); Выяснилось, что lcd = 0 и ЖКИ даже не производит начальной загрузки. При этом ЖКИ однозначно подсоеденен правильно и в старом проекте успешно работал с функцией, написанной на verilog'е. Можно конечно работать с ЖКИ низкоуровнего, но уж очень хочется использовать printf'ы. Специалисты, помогите!
  12. Господа, ну надо же хоть иногда читать руководства! Смотрите главу 11 руководства по Квартусу, которая посвящена особенностям упихивания HDL-кода в камни. Не помню точно как называется, но там есть раздел как раз посвященный памяти с одновременной записью и чтением. Как раз ваш случай. Там есть все ответы!
  13. Цитата(soldat_shveyk @ Mar 11 2012, 17:18) Добрый день! Неожиданно потребовалось вычислить десятичный логарифм на ПЛИС (ALTERA CycloneIII). На входе 16-разрядное беззнаковое число. Подскажите - как реализовать? Проще всего аппроксимировать отрезками прямых. Так реально в радиолокационной аппаратуре делается, а также при компадировании звука (см., например, реализацию A- или мю-законов). Разбиение области аргумента ведётся, естественно, нелинейно. Кол-во отрезков зависит от допустимой погрешности. После разбиения - само вычисление элементарно реализуется в HDL-коде. По-крайней мере, этот способ вообще не требует какой-либо таблицы.
  14. Цитата(Dimmrf @ Mar 12 2012, 07:23) Мнда. Пока так и не понятно в чем мой косяк. По-тихоньку преобразую этот пример в мой. На каком-то этапе всё-таки должна всплыть причина. Похоже это как-то связано с пунктом Setting\Simlation\Format for output netlist У меня, как раз, в моделсим альтера вообще ничего не моделировалось, если устанавливал выходные файлы из Квартуса в формате Verilog. Дай ему VHDL и всё!
  15. Коллеги! Нигде не попадалась проект или мегафункция для считывания данных с двухкристальной флешки типа P30 фирмы Nymonix. Самому писать и отлаживать ну как-то совсем не хочется. А как противник использования всяких встроенных процессоров в ПЛИС, Qsys'ом пользоваться не умею.
  16. Слушайте, коллеги, это нормально? Ситуация в том, что стоит практически high-end'овский комп, на нём лицензионный квартус 11.0. Так что бы собрать какой-нибудь крошечный проект у него уходит 10-15 минут, а если что-нибудь серъезное, с фильтрами, БПФ и т.д., то квартус может легко "уйти в себя" часа на полтора. Причём сборка большого проекта запросто может закончиться падением квартуса. Все настройки сборки выставлены в "minimal effort", всё по минимуму. Так же работать не возможно! Может что-то не так настроено?
  17. Цитата(A. Fig Lee @ Mar 10 2012, 17:17) В общем, досталось больше сотни этого добра бесплатно. Как раз хотел потренироватся в CPLD и FPGA. Скачал бесплатный Квартус от Альтеры, а там нет поддержки MAX3000A. Че делать? Как программу написать и скомпилировать? Сам недавно квартусом 11 заливал старую платку на 3128, так что поддержка точно есть. А вообще можно скачать старенький и надёжный как молоток Max+Plus II. Но у него достаточно слабенький синтезатор. Поэтому могу порекомендовать любую версию квартуса, кроме 10 и 11, так они черезчур громоздкие для таким маленьких камушков. Да и с версии 9.1 убран (мой любимый) режим совместимости с Max+Plus II.
  18. Цитата(DevL @ Mar 12 2012, 12:49) могу проверить у себя , если есть желание расшарить проект.... Intel® Core™ i7 CPU X 980 @ 3.33GHz Короче, докладываю: по моему требованию на работе купили новый комп тоже с i7 и 8Гбайт ОЗУ. Ну всё, конечно, гораздо резвее зашевелилось. Беру простейший проект, как указано выше, состоящий всего из двух выводов, соединённых инвертором. Решил выяснить как скорость сборки зависит от выбора камня. Выбираем Max II, проект собирается за 6 сек, выбираем Cyclone II - около 20сек, выбираю свой камень Stratix IV - больше минуты! Ничего себе! Причём я не особо въезжаю, с чего такая коллосальная разница? Кстати, в моём основном проекте больше всего синтезатор тормозит почему-то даже не на самом фильтре, а на укладке его коэффициентов в память камня.
  19. Цитата(wert101 @ Mar 8 2012, 18:21) Подробнее о Вашем опыте можете рассказать? Да чего ж нельзя... Вкратце так: для радиолокационного проекта, в котором в качестве внешней подсветки используется глонассовский сигнал нужно было сделать макет. Выбрали отладку со Stratix IVGX (с дуру!). Обрадовавшись ёмкости этого камня и т.к. надо было побыстрей, для захвата сигнала решено было использовать не корреляторы, а СФ для ПСП-сигнала. Плюс в том, что не надо поиск по задержке осуществлять, а минус в том, что СФ 2000 порядка в параллельной форме (БПФ мы использовать даже и не пытались) да ещё и с перегружаемыми коэффициентами жутко долго собирается и поглощает львиную долю ресурсов даже в таком мощном камне. А для сопровождения уже обнаруженного по доплеру и задержке сигнала нужна уже несколько другая структура, но обе структуры в камень уже не лезут. Появилась идея после обнаружения сигнала перезаливать ПЛИСину. Да вот только перезаливать её приходится с компа, а за время заливки, как показывают расчёты сигнал по доплеру запросто можно потерять. Вот и стало обидно, что нельзя для ПЛИСины готовить прошивку из частей.
  20. Цитата(bogaev_roman @ Mar 7 2012, 13:31) А в это я не верю. Киньте проект - прогоню у себя на машине. Так чего кидать? Я ж написал выше:"две ноги, соединённые через инвертор". Вот и всё. Собирается около 10мин, больше всего времени поедает анализатор - около 6 мин, дальше "впихиватель" - минуты три, всё остальное - около минуты. Причём все настройки оптимизации стоят по минимумам. Причём от камня, походу, не зависит. Тут надо было сделать цифровой генератор, состоящий из трёх счётчиков на базе старой платки с максиной 3128. Max Plus II его упихать не смог. Пришлось попросить помощи у квартуса 11. Квартус его впихнул, но "скрипел мозгами" минут 50. Кстати, на том же компе стоит мой любимый квартус девятой версии, так он просто летает. Но я понял, что ни у кого такой проблемы нет. Ладно, будем искать дальше. Цитата(bark @ Mar 7 2012, 17:13) у меня сейчас за 7-8 минут собирается проект с локалкой (МАС+аппаратная реализация протоколов до UDP) + Вау! Аппаратная реализация UDP- это круто! Представляю какая у вас там машина сотстояний залита и сколько вы её отлаживали! Это ж надо уметь сначала принимать и обрабатывать ARP-запросы, проверять IP-адреса и порты, подсчитывать CRC,плюс куча всякой другой "если-то...". Если не секрет, зачем такие сложности понадобились? Не проще было на проце это всё сделать?
  21. Цитата(bogaev_roman @ Mar 7 2012, 11:53) Дело не в перерыве, а в алгоритме и кристаллах. Я уверен, что фильтр 2000 порядка раньше вообще бы не был реализован на ПЛИС. Ну бог с ним с этим фильтром! А собирать пустой проект почти 10 мин, это нормально?
  22. Цитата(Kuzmi4 @ Mar 7 2012, 10:00) 2 Kluwert Параметры компа в студию и Resource Usage после P&R для проекта Да пожалуйста: Core 2 Duo 3ГГц, ОЗУ 4Гб. А от ресурсов проекта зависит достаточно интересно. Делаю элементарный проект, две ножки соединённые через инвертор. Камень - Stratix IVGX. Проект собирается 9мин 38 сек. Далее, открываю проект, в котором имеется два скоростных фильтра 61-го порядка. Проект собирается 10мин 50 сек. Правда, если открыть проект, в котором фильтр 2000-порядка о тут да... квартус крепко задумывается, часа на 1,5 Цитата(bogaev_roman @ Mar 7 2012, 10:17) Полтора часа это еще ничего - у меня иногда часов на 6 А как же тогда работать? Нашел ошибку - и на завтра, т.к. уже рабочий день кончился? Я просто имел перерыв в работе с Альтерой и перескочил сразу через несколько версий Квартуса. Но как-то раньше всё это компилилось влёт и то, что у меня сейчас на компе творится вгоняет меня в грусть
  23. Цитата(Stewart Little @ Mar 5 2012, 17:28) Присоединяюсь к уважаемому iosifk - не понятно, зачем оно Вам надо? А я,как раз, с Иосифом не согласен. Если бы действительно была возможность подгружать собранные модули на кристалл по частям, а не единым .sof-файлом было бы замечательно. Можно бы было на ходу менять конфигурацию внешних интерфейсов, например, не останавливая работу, скажем, встроенного проца. Конкретный пример: ГЛОНАСС-приемник. После того как вы обнаружили сигнал, вам нужна совершенно другая конфигурация для его сопровождения. Но, как показал опыт, за то время, что вы будет перезаливать весь кристалл новой прошивкой, на подвижном носителе (например, самолете) вы гарантированно сигнал по доплеру потеряете.
  24. Было и не такое. Увы этот убогий modelsim насквозь глючный. Лучше перейти на что-нибудь другое.
  25. Коллеги, нужен ваш совет в следующем деле. Иммется проект в IAR по sam7x. В режиме отладке все нормально, заливается прямо из IAR Seeger'овским программатором SAM-ICE без проблем. Долшло, наконец, дело до серии. Нужно заливать бинарник без помощи IAR'а. Выгоняю из IAR'а бинарник, заливаю c помощью Атмеловской программулины, успешно заливается. Но после заливки никаких признаков жизни МК не подает. Гнал из IAR'а hex, преобразовывал с помощью Hex2bin, тот же результат. Что я делаю не правильно?