Jump to content

    

Kluwer

Участник
  • Content Count

    289
  • Joined

  • Last visited

Everything posted by Kluwer


  1. Цитата(Dimmrf @ Mar 12 2012, 07:23) Мнда. Пока так и не понятно в чем мой косяк. По-тихоньку преобразую этот пример в мой. На каком-то этапе всё-таки должна всплыть причина. Похоже это как-то связано с пунктом Setting\Simlation\Format for output netlist У меня, как раз, в моделсим альтера вообще ничего не моделировалось, если устанавливал выходные файлы из Квартуса в формате Verilog. Дай ему VHDL и всё!
  2. Коллеги! Нигде не попадалась проект или мегафункция для считывания данных с двухкристальной флешки типа P30 фирмы Nymonix. Самому писать и отлаживать ну как-то совсем не хочется. А как противник использования всяких встроенных процессоров в ПЛИС, Qsys'ом пользоваться не умею.
  3. Слушайте, коллеги, это нормально? Ситуация в том, что стоит практически high-end'овский комп, на нём лицензионный квартус 11.0. Так что бы собрать какой-нибудь крошечный проект у него уходит 10-15 минут, а если что-нибудь серъезное, с фильтрами, БПФ и т.д., то квартус может легко "уйти в себя" часа на полтора. Причём сборка большого проекта запросто может закончиться падением квартуса. Все настройки сборки выставлены в "minimal effort", всё по минимуму. Так же работать не возможно! Может что-то не так настроено?
  4. Цитата(A. Fig Lee @ Mar 10 2012, 17:17) В общем, досталось больше сотни этого добра бесплатно. Как раз хотел потренироватся в CPLD и FPGA. Скачал бесплатный Квартус от Альтеры, а там нет поддержки MAX3000A. Че делать? Как программу написать и скомпилировать? Сам недавно квартусом 11 заливал старую платку на 3128, так что поддержка точно есть. А вообще можно скачать старенький и надёжный как молоток Max+Plus II. Но у него достаточно слабенький синтезатор. Поэтому могу порекомендовать любую версию квартуса, кроме 10 и 11, так они черезчур громоздкие для таким маленьких камушков. Да и с версии 9.1 убран (мой любимый) режим совместимости с Max+Plus II.
  5. Цитата(DevL @ Mar 12 2012, 12:49) могу проверить у себя , если есть желание расшарить проект.... Intel® Core™ i7 CPU X 980 @ 3.33GHz Короче, докладываю: по моему требованию на работе купили новый комп тоже с i7 и 8Гбайт ОЗУ. Ну всё, конечно, гораздо резвее зашевелилось. Беру простейший проект, как указано выше, состоящий всего из двух выводов, соединённых инвертором. Решил выяснить как скорость сборки зависит от выбора камня. Выбираем Max II, проект собирается за 6 сек, выбираем Cyclone II - около 20сек, выбираю свой камень Stratix IV - больше минуты! Ничего себе! Причём я не особо въезжаю, с чего такая коллосальная разница? Кстати, в моём основном проекте больше всего синтезатор тормозит почему-то даже не на самом фильтре, а на укладке его коэффициентов в память камня.
  6. Цитата(wert101 @ Mar 8 2012, 18:21) Подробнее о Вашем опыте можете рассказать? Да чего ж нельзя... Вкратце так: для радиолокационного проекта, в котором в качестве внешней подсветки используется глонассовский сигнал нужно было сделать макет. Выбрали отладку со Stratix IVGX (с дуру!). Обрадовавшись ёмкости этого камня и т.к. надо было побыстрей, для захвата сигнала решено было использовать не корреляторы, а СФ для ПСП-сигнала. Плюс в том, что не надо поиск по задержке осуществлять, а минус в том, что СФ 2000 порядка в параллельной форме (БПФ мы использовать даже и не пытались) да ещё и с перегружаемыми коэффициентами жутко долго собирается и поглощает львиную долю ресурсов даже в таком мощном камне. А для сопровождения уже обнаруженного по доплеру и задержке сигнала нужна уже несколько другая структура, но обе структуры в камень уже не лезут. Появилась идея после обнаружения сигнала перезаливать ПЛИСину. Да вот только перезаливать её приходится с компа, а за время заливки, как показывают расчёты сигнал по доплеру запросто можно потерять. Вот и стало обидно, что нельзя для ПЛИСины готовить прошивку из частей.
  7. Цитата(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,плюс куча всякой другой "если-то...". Если не секрет, зачем такие сложности понадобились? Не проще было на проце это всё сделать?
  8. Цитата(bogaev_roman @ Mar 7 2012, 11:53) Дело не в перерыве, а в алгоритме и кристаллах. Я уверен, что фильтр 2000 порядка раньше вообще бы не был реализован на ПЛИС. Ну бог с ним с этим фильтром! А собирать пустой проект почти 10 мин, это нормально?
  9. Цитата(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 А как же тогда работать? Нашел ошибку - и на завтра, т.к. уже рабочий день кончился? Я просто имел перерыв в работе с Альтерой и перескочил сразу через несколько версий Квартуса. Но как-то раньше всё это компилилось влёт и то, что у меня сейчас на компе творится вгоняет меня в грусть
  10. Цитата(Stewart Little @ Mar 5 2012, 17:28) Присоединяюсь к уважаемому iosifk - не понятно, зачем оно Вам надо? А я,как раз, с Иосифом не согласен. Если бы действительно была возможность подгружать собранные модули на кристалл по частям, а не единым .sof-файлом было бы замечательно. Можно бы было на ходу менять конфигурацию внешних интерфейсов, например, не останавливая работу, скажем, встроенного проца. Конкретный пример: ГЛОНАСС-приемник. После того как вы обнаружили сигнал, вам нужна совершенно другая конфигурация для его сопровождения. Но, как показал опыт, за то время, что вы будет перезаливать весь кристалл новой прошивкой, на подвижном носителе (например, самолете) вы гарантированно сигнал по доплеру потеряете.
  11. Было и не такое. Увы этот убогий modelsim насквозь глючный. Лучше перейти на что-нибудь другое.
  12. Коллеги, нужен ваш совет в следующем деле. Иммется проект в IAR по sam7x. В режиме отладке все нормально, заливается прямо из IAR Seeger'овским программатором SAM-ICE без проблем. Долшло, наконец, дело до серии. Нужно заливать бинарник без помощи IAR'а. Выгоняю из IAR'а бинарник, заливаю c помощью Атмеловской программулины, успешно заливается. Но после заливки никаких признаков жизни МК не подает. Гнал из IAR'а hex, преобразовывал с помощью Hex2bin, тот же результат. Что я делаю не правильно?
  13. "Нелюбимые" Ethernet-пакеты

    Цитата(vitko @ Feb 3 2012, 14:00) Сеть довольно нагруженная, но разницы в интенсивности траффика днем и вечером нету. Может кто-то объяснить этот эффект? Похожая фигня была из-за настроек сети. Админы устраивали ряд препонов в рабочее время, что бы народ не гонял по сети фильмы, не подсоединялся к цветному принтеру и т.д. Причём настраивали так, что в конце рабочего дня эти препятствия автоматически отключались. Возможно у вас та же хрень.
  14. Вот, если кому интересно. Была задача сделать "виртуальный" последовательный порт на плате с ARM. На PCке программка использовала, есс-но, сокет-клиент (по-русски говоря, "розетку"), а на ARMе - микроIP, который, по-сути, и есть реализация розетки только на микроконтроллере. И что интересно, выяснилось, что если посылать пустой пакет (т.е. TCP/IP-пакет без флажка PSH), то та розетка, которой послан этот пакет "подвисает". Т.е. идет ответ пакетом с флажком ACK, но ни одно из событий не срабатывает, кроме Connected. Ни WriteData, не ReadData и т.п. на компе и не newdata, acked и т.д. в микроIP. Самое обидно, что не срабатывает и событие poll. Так что вывести обе розетки из этого состояния можно только принудительным закрытием соединения (Closed или abort) из остальной части программы. Так что, к сожалению, при использовании микроIP хотя бы один байт всегда посылать нужно и максимальная пропускная способность TCP-соединения снижается до 1459 байт/пакет. Если этот байт критичен, то придется лезть ручками в потроха микроIP. На мой взгляд, овчинка явно выделки не стоит, но на вкус и цвет
  15. Наряду с другими выводами в проекте используются выходы с названиями user_led[15..0]. Распихиватель квартуса упорно забивает на назначение выводов для них (хотя в главном .bdf-файле выводит правильные назначения). Причем, в pin-файле он даже пишет их без скобок, например, user_led0, т.е. он их еще и почему-то не воспринимает как группу. Причем, только для этих выводов! Например, в проекте есть входы с названиями user_pb[7..0], но никаких проблем нет. Естественно, сличали назначения для выводов (напряжения, тип и т.д.) в pin planner'е - все нормально. Тем более, что файл с назначениями был свистнут из родного альтеровского проекта для этой же платы и этого же камня. Может кто может прояснить происходящее?
  16. Цитата(andrew_b @ Jan 16 2012, 08:31) Просто так ничего не происходит. В логах что есть по этим пинам? Да есть. В предупреждениях пишется нижеследующее: Warning: Converted elements in bus name "user_led" using legacy naming rules. Make any assignments on the new names, not on the original names. Но если, например, вместо user_led[0] поставить в имени вывода user_led0 ничего не поменяется: квартус считатет, что этот вывод не назначен пользователем. А прописывать еще раз все выводы как user_ledx в ass.editor ну как-то не спортивно. Да и не факт, что это проблему решит. Короче, пока суть да дело, я сам нашел ответ, который решает проблему но, правда, не до конца объясняет суть. Короче, трабл в понимании этих самых квадратных скобок. Для решения проблемы нужно просто установить в Assignments menu -> Settings -> Analysis and Synthesis Settings -> More Settings -> установить значение Block Design Naming в Quartus II (по умолчанию стоит в auto). Правда, почему он ругался на user_led[x] и не ругался, например, на user_pb[x] так и осталось загадкой.
  17. Цитата(bs_p @ Dec 19 2011, 20:52) Какие способы разделения аддитивной смеси сигналов бывают? (Кроме частотного). Смотря что вы понимаете под "разделением". Если задачу обнаружения и (или) обнаружения-измерения параметров, тогда см. соответствующую главу из Сколника или Фальковича. Решение там сводится к следующему. Если разделение ведется на фоне БГШ, то сначала сигналы ортогонализируются, затем на каждый из получившихся сигналов ставится либо СФ (набор СФ), либо (параметризованный) вычислитель ВКФ (как кому нравиться). Если шум не есть БГШ, то перед этим всем еще следует выбелить шум соответствующим фильтром. Если же вам нужно получить сигналы в так сказать "первозданном" виде, то, таки да, частотное или временное разделение. Т.к., чудес не бывает, и если у вас сигналы перекрываются по времени и (или) спектру, то выделить один из сигналов в "чистеньком" виде вам не удастся.
  18. Цитата(des00 @ Dec 22 2011, 15:51) LPF = Low Pass Filter Спасибо, я знаю, что такое LPF Я имею в виду где он в программе реализован. Я вижу только вот такое странное накопление I[MsCount] += Signal[i]*sin(Faza); с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i. Может я чего не понимаю, но мне кажется странной такая реализация ФНЧ.
  19. Цитата(optimus @ Dec 22 2011, 07:03) народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается А чего вас, молодежь, так тянет на импортные источники, в родном гос-ве уже книги перестали издавать? Кстати сказать, схема на рисунке не рабочая: в нижней ветви петлевого фильтра стрелки явно куда-то не туда смотрят А по вашей программке, ну, начнем с того, где ФНЧ после умножителей? Я вижу вот это: I[MsCount] += Signal[i]*sin(Faza); Q[MsCount] += Signal[i]*cos(Faza); и далее (в цикле) Atan = fmod(atan(Q[MsCount]/I[MsCount]),2.*M_PI); А ФНЧ-то где? Кстати, на схеме действительно АПЧ, но в основе лежит именно ФАПЧ, т.к. система (очевидно) с астатизмом I порядка, следовательно, будет следить с точностью до начальной фазы.
  20. Цитата(Oleg Victorovich @ Dec 21 2011, 21:21) Необходимо выбрать частоту дискретизации сигнала... Уважаемый, вы хоть о теореме Котельникова-то слышали? У вас на экране - обыкновенная затухающая гармоника, т.е. амлитудно-модулированное колебание. Ширина спектра такого сигнала (dF) определяется временем затухания (по вашей фотке его можно оценить только очень грубо) плюс перенос этого спектра на частота вашей гармоники (Fd, по вашему снимку не вполне понятно сколько), которая определяется резонансом той системы на выходе которой вы это все меряете. Короче, выбираете Fd > Fн+0.5*alpha*dF и взяв alpha = 1,2-1,3 будет вам счастье в виде 100% точности восстановления с точностью до знака после запятой. А коли, наверняка, Fн >> dF в вашем случае, то можно сьюзать и обобщенную теорему Котелникова, т.е. понизить вышевычисленную Fd в целое число раз. Короче, учите матчасть.
  21. Как говорится, на заметку разработчику. Столкнулись тут с проблемой. Был мелкосерийный девайс на базе at91sam7x256. Под него был склад с камнями 2008-2009-го годов рождения. Склад закончился, купили новые камни (2011 года производства) и с удивлением обнаружили, что давно отлаженный софт на них не работает. Оказалось, что старые камни были с буквой "а" на конце, новые - с буквой "б". Скачали свежее описание с Atmel'а и в разделе изменений (errata) нашли, что у камней с буквой "б" нужно два раза подряд сбрасывать SPI-управитель, иначе он в режиме с непостоянным NPCS работать не желает. Проблема решилась двумя подряд *AT91C_SPI0_CR = AT91C_SPI_SWRST; Надеюсь, кому-нибудь это сэкономит время
  22. Цитата(sazh @ Nov 22 2011, 15:21) Если кристалл этот пин как lvds поддерживает, пин планер сам вставит пин, на который должен приходить (n) генератора Не, это все сделано. Вопрос в том, как его в схему (главный файл проекта - графический .bdf, ну привык я так). Подключаю его к функции ALTIOBUF, устанвливаю diff mode, он говорит типа хочу обычные выводы, не разностные. Использую примитив alt_io_buf, тот же эффект. Примитив alt_io_buf_diff не поддерживается для stratix'а IV. Короче, вроде совсем простая задачу, а нигде ответа найти не могу.
  23. До недавнего времени для устранения косяков на разработанных платах, особенно если надо было подпаяться непосредственно к ногам мелконогих микрух использовали специальны провод. Провод тонкий (сечение около 0,05мм^2), посеребренный, в полупрозрачной тонкой изоляции синего цвета. Его достоинства в том, что он не скользил в руках, не пружинил. Изоляция идеально легко снималась и можно было паять перемычки даже между ногами QFP-микрух. Но, беда в том, что провод кончился. А найти его не можем. Может, кто знаком с таким проводом и может назвать его тип или какие другие данные?
  24. Цитата(novartis @ Oct 3 2011, 20:20) Что совсем никто не мучил DSP_Builder? Если вы мне опишите, как полечить DSP_Builder для 11-го квартуса, то я может чем и смогу помочь, т.к. у меня недавно отладка по Stratix IV появилась.
  25. Цитата(Zelepuk @ Oct 2 2011, 00:05) очень странно. Я используюфильтр Фарроу Уважаемый, Zelepuk, вы думаете все сходу знают, что такое фильтр Фарроу? Фильтров существует сотни. Если вы сообщите более подробную информацию о фильтре и начальных данных (т.е., что подается на вход в отсутствие пачек отсчетов), то можно будет посмотреть.