Jump to content

    

Kluwer

Участник
  • Content Count

    310
  • Joined

  • Last visited

Everything posted by Kluwer


  1. только - это, всё-таки, хрень. В сухом остатке, эти самые "нейронные сети", нелинейный вариант древних как полёт на Луну винеровских перцептронов как-то чего-то, да, ещё могут изобразить в тех задачах, которые сложно формализуются матемтически (распознование изображений, голоса и т.д.). Но, как только задача хоть как-то, пусть криво-коряво, но формализуется, то тут ваши "нейросети" и иже с ними, типа новомодных "генетических алгоритмов, "фаззи-лоджиков", "фрактальных алгоритмов" и т.д. и т.п. и др. пролетают как фанера над Парижем. Яркий пример - классические задачи радиолокации/гидроакустики: обнаружение, захват, сопровождение, распутывание трасс и т.д. На каждой конференции приезжает обязательно какой-нибудь желторотый умник со статьёй на тему "применение нейросетей в ..." и начинает втирать про "физиков 2 века назад". Только всё заканчивается гомерическим хохотом в зале после того, как желторотик показывает результаты моделирования. Ну, да, при входном ОСШ за 20дБ и Pd = 95%, Pf не дотягивает до 10^(-2), но и фиг бы с ним ... зато технический прогресс не остановим!!
  2. А почему вам обязательно нужно от "пакета к пакету"? Кто вам мешает следить за фазой хоть даже от символа к символу? Определить куда и с какой скоростью у вас постепенно сворачивается созвездие - ну это, по-моему, вообще классическая задачка, обсосанная дволь и поперёк.
  3. Надо ещё учесть такую тему, что вы потом ещё с серийным девайсом замучаетесь. Сейчас даже обычные гиговые физики большинство под NDA, а с вами никто связываться не будет, когда узнают, что у вас там пару штук в год выпуск. Мы тут даже с десяткой натанцевались: альтеровский стартер-кит - пожалуйства, а описание физики - шиш с маслом, крутитесь как хотите. К производителю: нужно подписать nda. Ок. А сколько микросхем в год понадобится? Ну, штук 20 ... 20?! Не, ребята, идите лесом! А с сотней у вас вообще будут злобные проблемы. А сейчас ещё реально надвигаются технологические санкции на РФ (если вы в РФ, конечно, работаете) и сотня попадёт под неё 100% и что вы тогда делать будете?
  4. Можно сделать почти автоматически: 1) вывести в СТП интересные вам сигналы и выгнать их в виде лога либо File/Export ..., либо правой клавишой по графике и "Create Signal Tap List File"; 2) в ручную, либо с помощью элементарного скрипта превращаете лог в .mif-файл. В проекте ставите ПЗУшку соотвествующего размера со счётчиком и - вуаля, получите ваш генератор. Можно также в .qsf-файле поиграться с tcl-командой export_data_log из stp-пакета. Stp-пакет, впринципе, бедноват, но можно автоматически по сборке запустить стп, передёрнуть сигналы, записать и закрыть. Т.е., полная автоматизация :) Наконец, если владете и часто используете Матлаб, можно прямо из Матлаба дёрнуть стп (команда alt_signaltap_run), получить внутрь интересующие вас сигналы, ну а сгенерить по ним .mif, используя матлабовский скрипт - 5 минут работы.
  5. Я не с вами вообще-то дисскусию вёл. То, что вы круче и умнее всех уже все поняли. Но конкретно ваше мнение мне ни разу не интересно. Я тоже по-началу себя так вёл, потом схватил предупреждение и сделал выводы. И вам того же желаю. Удачи! Kluwert
  6. Не совсем с вами согласен. Когда большой проект да. Тот же Моделлсим, у меня уже давно запускается ватничками с вызовом соотвествующих наработанных гоадми скриптов, прям как набор с инструментами :) Но, проблема в том, что иногда этот скрипт дольше править. Объясню. Часто делаю "лабораторные работы": в большом проекте что-то не работает, есть подозрение на определённый блок. Выдёргиваешь этот блок, делаешь в два щелчка новый проект и - на моделирование. И тут выясняется, что что бы отмоделировать блок, условно, с 2 входами (один из которых клок) и одним выходом, нужно перепиливать целый скрипт. В то время как в старом добром Макс плюс II (да, такой я старый! :)), был изумительно простой графический моделлер. Там нужные сигналы в подобном случае задавались буквально в пару щелчков мыши. И - пожальте результат! Или приведу мой любимый пример: а зачем тогда ручки и кнопки на осцилле? Давайте тоже выпускать осциллы, у которых на передней панели только экран и вход USB будет. Приготовил на компе скрипт, переписал на флешку, вставил в осцилл - и вуаля!
  7. Получить можно. В отличии от старых версий Матлаба, где-то с версии 7.9 Матлаб из fdatool начал выдавать вполне читабельные и хорошо откомменченные исходники. По-крайней мере, руками вы напишите точно так же. А дальше - проблема та же, что и с рукописными фильтрами. И в Инете полно инфы и мы в конторах, где я работал и работаю, неоднократно (даже на спор) проверяли. Не смотря на все шаманские игры с прописыванием таймквестов, включения лоджиклоков и т.д. и т.п., там где сгенерённый мегафункцией производителя фильтр легко выжимает 330-350МГц для примера, из рукописного (или Матлабовского), если у него не смешной совсем порядок только, с трудом удаётся дотащить, дай бог, до 200. Один раз, вручную распихав фильтр по DSP-блокам, удалось почти до 280 его дотянуть для того же камня, но это - мартышкин труд. Поэтому, общая рекомендация такова: если у вас камень мощный, а вам достаточно относительно невысоких скоростей, то и генерите себе из Матлаба на здоровье. Если же нужно выжать из камня по максимуму, то увы.
  8. Послушайте, во-первых, не сигнал-шум, а сигнал-помеха+шум. Для одного пользователя остальные являются помехами, шум какой был такой и остался. Во-вторых, фразы типа "амплитуда всего сигнала не возросла, так как где-то 1+(-1) может дать вообще ноль, но так-то есть амплитуды и 3 и 4 после сложения юзеров..." говорят о том, что вам для начала просто нужно отложить в сторону чтение про CDMA и спустится на уровень ниже: прочитать (или перечитать) основы, хотя бы того же Баскакова.
  9. Видимо что-то поменялось с тех времён, когда я последний раз юзал Квестасим. На тот момент Квестасим даже не понимал расширенного объявления входов и выходов в заголовках верилоговских модулей, в то время как даже урезанная альтеровская версия Моделсима прекрасно понимала объявления и в "старом" и в "новом" стиле. С тех пор к Квестасиму я потерял интерес. Сейчас глянул на "Менторовский" сайт, да, теперь, типа, Квестасим в флагманах, ну рад за него.
  10. Каждого байта, или каждого бита? То, что я вижу у вас, не проще вообще написать как CNT <= CNT ^ ~100'b0 ?
  11. Слушайте, у вас исходная частота выборок 100МГц, а конечная - 20КГц, если нигде опечатки нет. Передискретизация в 5000 раз?! Вы точно этого хотите? Это некая учебная задача? Потому что я не очень могу представить откуда в практических задачах мог приехать НЧ-сигнал с полосой порядка 20КГц оцифрованный на 100МГц.
  12. Слушайте, Моделсим, конечно, убожество ещё то. У меня по этому поводу в совё время даже язвительная статья на другом ресурсе была. Но, с другой стороны, без него сейчас никуда. Ну можно ещё DSPbuilder задействовать, но он удобен для ваяния алгоритмических вещей, "тупой" HDL-код лучше мучать в Моделсиме (ну или его урезанной версии - Квестасиме). А по поводу всех этих ваших проблем с синтаксисом я, например, не заморачиваюсь даже особо: генерю вхолостую какую-нибудь кору, поставив галочку "сгенерить тестбенчы для Моделсим", дальше эти тестбенчи вместе с командным батничком (тоже терпеть не могу копаться в убогом моделсимовском gui) копирую себе и подставляю свои файлы. Всегда так работало, никаких проблем. Ещё учтите, что у Моделсима часто случается несварение желудка от верилоговского кода. Он по-моему нормально поедает только vhdl.
  13. Коллеги, есть ли в квартусовском варианте tcl'я какая-то предопределённая переменная, которая бы указывала, где корневой каталог установки Квартуса? По типу qip_path?
  14. Если в названии модуля присутствует "MAC", то его прямая обязанность корректно формировать MAC-уровень и корректно поднимать интерфейс с физикой. Значит, как минимум, у него должен на входе с внешней шиной стоять буфер на один пакет (стандартный или Jumbo - это уж как там в настройках). Иначе, вообще говоря, нафиг он нужен?
  15. Да а что такого нехорошего с ценником? По-моему, вменяемая цена вполне. И она проверенная и надёжная как автомат Калашникова. А что взамен-то? Мы пробовали KSZ9031, но это кошмар какой-то :(
  16. Спасибо за развёрнутый ответ. Но ещё есть аспект: ЭМС. Ведь, строго говоря, оба метода можно рассматривать как одно и тоже, только с разной шириной строба. В первом случае, строб равен 1 такту высокого клока, а во втором (ну если мы говорим о скважности примерно 2) - N/2 тактов, где N - кратность частот (я пока только кратное понижение рассматриваю). Конечно, в крайнем случае, можно просто строб из первого способа взять в кач-ве клока для второго, но это - уже экстрим, я его не рассматриваю. А тогда: в первом случае мы получаем пониженный уровень помех на исходной (высокой) частоте, но сильно размазанный спектр. Проще говоря, "звенеть" будет в широком диапазоне. А во втором - повышенный уровень помех на исходной (энергия импульса просто больше), но примерно в N/2 раз более узкий спектр. Вот как с этим? Помехи на соседние (особенно аналоговые) схемы, да и даже на аналоговые схемы самой ПЛИСины (ну те же ФАПЧи, например).
  17. Нету никаких ограничений: забивали на пакетную передачу и гнали через гигабитные физики непрерывный поток - всё работает отлично. Чего-то вы странное что-то пишите. Вот кусок описания ноги RX_CLK популярной 88e1111: "Receive Clock provides a 125 MHz ref- erence clock with ± 50 ppm tolerance derived from the received data stream". По-моему, прямо протеворечит тому, что вы написали.
  18. Коллеги, неожиданно возникла дискуссия на работе по поводу способа понижения частоты. Для примера, у вас есть квадратурный детектор, в котором есс-но частота выходных отсчётов сигналов с некоторой кратность понижается по отношению к входной. Соответственно, сопровождать выходные отсчёты можно двумя способами: 1) тащить дальше по камню высокий клок, но сопровождать его стробами valid, как на комповых шинах (тот же "Авалон"); 2) поделить частоту на ФАПЧе, или тупо на регистре и раздавать дальше вместе с выходными данными. Вот кто что может прокомментировать о преимуществах/недостатках каждого способа.
  19. Что значит "не столь интересно"? КИХ-фильтр, например, пишется за 10 мин. Но, типичный проигрыш по быстродействию рукописного, например, КИХ-фильтра его же IP'шному аналогу типично составляет в районе 1,5 раз, как вы не играйтесь с локерами и таймквестами. Даже если разложить фильтр руками по DSP-блокам, т.е., по-сути, сделать за компилёр 80% его работы, и то, разница всё равно будет процентов 15-20. Проверяли сотни раз. Но раз это вас устроило, значит у вас камень был выбран с чрезмерным запасом. Ну можно конечно для перевозки тумбочки вызывать трейлер, но наш опыт показал, что, когда нужно из камня выжать всё, никакие рукописные аналоги кор не прокатывают. Позволю себе чутка откомментировать сообщение коллеги: Ну, наверное, НЧМ всё-таки, использование ЛЧМ'а с его невменяемым уровнем боковиков, как-то уже не модно. Даже в кач-ве "например" :) Modelsim в принципе и не нужен. Коры генерят вполне адекватные матлаб-модели, с помощью которых всё отлично моделируется прямо в Матлабе. Да и если уж про то пошло, тогда уже самое правильное - использовать DSPbuilder. Что называется, не отходя от кассы :) Э-э, тут не всё так просто, как я уже в другой ветке писал. Тут начнутся проблемы с диким ростом выходной разрядности и последующим выравнивающим (компенсирующим) фильтром, порядок которого может оказаться совсем не детским. Причём, этот же фильтр собственно и должен будет осуществлять сжатие квадратур и тут вообще может начаться дикий замес из разрядностей, АЧХ цика и требуемой АЧХ. Кроме того, лицензия на кору цика очень дорогая, ну а при использовании "русских лицензий" (как острят мои иностранные коллеги :)), можно легко нарваться на "сюрпризы".
  20. Свойства "pipeline" просто нужно задействовать у модулей в "advanced". А в блоках "BUS" св-во "Data Delay"
  21. Если канал распространения глубоководный, то (если не принимать во внимание аналоговую часть и пьезокерамику), то построить такой модем можно чуть ли не на мощном восьмирёночке. А на каком-нибудь 32-х-разрядном АРМе почти как 2 пальца. И зачем вам вообще такие сложные модуляции? Если вам нужно "дёшево и просто" зачем вы в OFDM лезите? Обычный тональник, как в телефонии и фильтр Гёрцеля вам в помощь. Зависит от частоты сильно, но выше звука работает прерасно. А если на мелководье, то, скорее всего, у вас ничего работать вообще не будет даже на таких смешных скоростях: там из-за дикой реверберации и многолучёвости, ISI у вас будут такие, что вы о 100битах/cек надёжной передачи будете мечтать.
  22. Это - не такое "очевидное" решение. Потому что он тупо боится ставить reg_B[7] далеко от остальных, справедливо опасаясь, что у вас может шина "разбежится" (400МГц, так между прочим, не хухры мухры!). А вы ещё зачем-то прилепили никому не нужный промежуточный регистр reg_sum, который явно назначили на выход sum. А компилятор Квартуса совсем не такой интеллектуальный, как вы могли подумать и он достаточно тупо выполнил ваши указания, повесив reg_sum чуть ли не на ногу sum. Была б его воля он бы его ещё на двухфазный выходной триггер (altddio) залепил, но права не имеет. И проблема тут не в мифических глюках Квартуса, а элементарно в том, что каменюга у вас выбрана огромная, схемка вшивая, а если он начнёт гонять по кристаллу туда-сюда отдельные триггеры, каждый раз заглядывая в результаты таймингов, то более серъёзные схемы он будет месяцами оптимизировать. Поэтому, да, тяжек труд плисовода: приходится либо за компилятор думать, либо, что более правильно, для здоровых камней ваять из IP-кирпичиков. Ибо об оптимизации последних уже позаботились до нас.
  23. Коллеги, возникла потребность компиляции Си-кода для древнего как известно что мамонта DSP-процессора TMS320C10. Ни у кого случаем не валяется на древних дискетах компилятор, который в состоянии делать под него код? Или может кто знает, где можно качнуть такю древность. Смотрели самые старые версии Код Композера (2.1 по-моему), но даже там ничего старше C40 уже нет.
  24. Коллеги! Где-то видел тему, но не могу найти. Суть в следующем: с ацп на 200МГц+ идут отсчёты и клок по lvds`ам. Далее они принимаются, есс-но altddio. Но, судя по оценкам таймквеста между данными и клоком набегает достаточно прилично, что бы отдельные биты защёлкивались не стабильно (что и наблюдается на практике). Пришлось делать целое исследование и крутить руками задержки D1..3, что бы подобрать что-то вменяемое. Но в Квартусе можно, вроде же, прописать констрейны так, что бы он эти все задержки подбирал сам автоматически. Вот как это сделать?