Jump to content

    

yes

Свой
  • Content Count

    2521
  • Joined

  • Last visited

Community Reputation

0 Обычный

About yes

  • Rank
    Гуру

Recent Profile Visitors

10035 profile views
  1. я прикидывал, есть у меня некоторая область деятельности для актелов, но там сейчас "денег нет, но вы держитесь", поэтому не очень детально - можно сказать, просто поигрался с либерой на нашем коде и медленнее и лезет в него хуже, то есть надо брать KU040 (это для сравнения в попугаях) или меньший для более объективного сравнения - там уже в ту же 1к$ можно влезть. сори за офтоп
  2. в рамках занудства - есть такая контора Актел (была, сейчас Микрочип) у нее пользовательские ФПГА-шки сразу имеют конфигурационное ПЗУ. в этом есть некоторый смысл, для некоторых приложений, но обычно сильно дороже "за LE" выходит. обещали поларфайером своим всех по ценам порвать, но пока не выходит... у Латтиса семейства XP2, MACHXO* , у Альтеры в МАХ-ах у Латтиса в ICE* (ну и у всяких стартапов, которые вживую не довелось щупать) OTP - дешевле и проще на тот же кристал запулить а в Спартане с флашкой был мультичип пакадж - то есть два кристалла ПЛИС и ФЛАШ в одном корпусе ---------------- ну и мое мнение - в большие ПЛИС (Виртексы, Стратексы/Арии и т.п.) нет смысла напрягаться и вставлять ФЛАШКу - это никому не нужно, потому что по-любому нужна огромная плата с кучей комплектухи - туда поставить минимальную последовательную флашку не вопрос. ну и в 97% случаев на плате есть процессор со своей ФЛАШ, куда образ ПЛИС бесплатно можно положить ---------------- а по поводу срока службы Виртекса - полагаю сильно зависит от температуры (то есть насколько интенсивно работает прошивка) - если восновном прошивка, которая считает еле-еле и чуть-чуть потребляет, то эта ПЛИС проживет больше, чем та, в которую десятки ватт уходят...
  3. если есть возможность и желание - расскажите, какие характеристики получились интересно - помещение/улица, площадь, точность, количество маяков, вероятность неверного определения и т.д. я погуглил - нашел только мультфильмы, а каких-то видео с тестами реальной системы не нашел. мы ннадцать лет назад делали что-то похожее (чипсет типа декавейвского, а потом даже и UWB рассматривали), дык как только начало хоть что-то в помещении позиционировать заказчик сразу захотел на видео снимать демо..
  4. константы удобнее задавать
  5. подниму тему - появился ли кто-то в комьюнити, кому удалось развернуть систему позиционирования на decawave-ных модулях? не обязательно индор - вообще...
  6. на всякий случай - пропускная способность SDRAM (ну и наверно DDR SDRAM - но тут не пользовался, нужно проверять) при чтении из ОДНОЙ строки (ну или как на русском будет row по сигналу RAS) не зависит от того бёрсты или нет. за счет конвеера между CAS и DATA то есть выставляя разные адреса можно читать/писать через CAS delay по относительно случайным адресам (внутри строки) по-моему, при использовании бёрста точно также при смене строки нужно выполнять закрытие/открытие (precharge или как там называется) - то есть вообще одинаково будет ну и не забывайте, что можно держать в каждом банке открытую строку - то есть до 4х в SDRAM и до 8-ми DDR то есть правильно разложив данные можно достигать практически такт-слово ----------------- но вопрос, какие контроллеры так умеют... в BF по-моему так делал - на каждый такт выставлял адрес (даже если они последовательные)
  7. ну а оно downto в VHDL или to? ну и как упаковывает SV в массив биты (хотя если и внутри самой младшей размерности наоборот, то это вряд ли) - то есть порядок квадратных скобочек правильный?
  8. извиняюсь за суету. то есть проблему я помню, так как меня это сильно удивило в свое время. но вчера попробовал код написать, как запомнил - либо работает, либо компиляция с ошибкой (был вариант с варнингом и правильным результатом) сам по себе знаковый бит (в сложении/вычитании) вобщем-то только для красоты, не должно быть разницы между signed и unsigned. то есть это в какой-то последовательности преобразований типов возникало... может я еще маски упускаю - насколько помню, тогда всякие DMA и арбитры шины писали, и неоднократно (то есть разные люди) сталкивались с проблемами 31-го бита адреса.
  9. -------------- чего-то у меня так сразу не получилось вспомнить код - смысл: в VHDL integer всегда знаковый, и максимальное значение +2**31, но к/из нему/него можно приводить и беззнаковые числа. но как это должно быть сделано, чтобы сразу было не видно - я сейчас не смог написать. мне казалось, что в операциях с generic-ом это могло проявится достаточно просто, но так сразу не вспомнил. попозже попробую найти как это у Гейслера было, но опять же тех версий библиотек уже нету... то есть признаю - специально написать так, чтобы терялся знаковый бит у меня не получилось
  10. ну так попробуйте обойтись без сахаровской демагогии и напишите, например, 29-ти разрядный аккумулятор, который каждый такт прибавляет константу, задаваемую при инстанциации (generic), каждый такт и имеет два входных 25-ти беззнаковых числа со стробами, одно вычитается, другое прибавляется по соответствующему стробу, на выход три старших бита (задание бредовое, чтоб не нагуглилось сразу, но тем не менее - это будет NCO, три бита можно на таблицу синусов подавать, число код частоты, два входа коррекции...) напишите и посмотрим, наступите или нет. а потом уже будем рассуждать про 40 бит и т.п. ------------------ уж не знаю, чем я обидел пользователя на сахаре, лет 5 там уже не писал. но мое мнение, сорри за офтоп, что сахара это зеркало деградации отечественной электроники. там кстати и сократились всякие "наукоемкие" конференции типа dsp, плис и т.п. ----------------- я вообще-то имел роль VHDL-гуру :), как это ни смешно, в одной конторе и студенты и начинающие авторы с этим вопросом обращались, и у Гейслера в его либе есть такая ошибка собственно там все просто и скучно весьма, но хотелось бы увидеть ответ, если пользователь Самурай сумеет не наступить - я тогда напишу (может кстати и поправили это в тулзах современных - я давно не брал в руки шашки) речь про 31 бит. и я вобщем-то дал вредный совет выше :) наверно, всю интригу погубил этим коментом. это естественно не проблема языка, и она обходится, но я сталкивался с тем, что люди пишут с этой ошибкой. по-моему и сюда писал (давно было и не уверен), ну и мне объяснили, что так и должно быть
  11. а посмотрите как оно сделано в библиотеке, которая в исходнике даётся и в ПЛИС синтезируется - в том самом numeric_std. программистский подход ни разу не ошибочный, а единственно верный. просто не все программисты, а уж тем более "электронщики" им владеют. вопрос еще в продуктивности, то есть времени требуемом на исполнение работы с одинаковым QoR - если карандаш кривой и все время ломается, то его нужно менять. а в свободное время (в качестве аматера, если так нравится) можно хоть на брейнфаке писать - существует множество специальных дисциплин --------------- upd: возможно, что в 80-х, когда еще синтезаторов не было, писать на VHDL было гораздо круче - так как это специальный академический язык, разработанный учОными для красоты и удовольствия смотреть на него (ни симуляторов, ни синтезаторов еще не было). а Verilog возник как некий внутрефирменный язык управления симулятором, то есть чисто инструмент, без красоты и какой-то структуры. но, как говорится, время все расставило по местам :) btw: в VHDL-2008 по моему есть целые произвольной длины
  12. ну вот я не разу не сталкивался с ошибками в нетитизированной математике (то есть синтез каких-то узлов с арифметическими операциями) верилога, а с 31-битом в VHDL-ной математике неоднократно - наверно все на этот костыль наступали :) и вполне возможно, что 32-х битов недостаточно уже будет для арифметики - что тогда делать? ------------------------ ну а то что VHDL где-то продолжает использоваться, я не сомневаюсь. но потребность в узкоспециализированных специалистах в VHDL, по моему, гораздо ниже чем SV. особенно если брать "модные" методологии верификации основанные на SV
  13. да там не только математика, но и электричество отсутствует, иначе зачем аяяй стд логик 1164 цеплять в каждый файл? по хорошему, для всей этой математической фигни нужно из std_numeric три функции to_signed/unsigned и to_integer, а размеры в интегерах сохраняются через 'range атрибут ну и std_logic_vector(to_signed/unsigned "ис коропки" работает ..... вообще если с VHDL хоть пару лет работаешь, то пишешь свою либу утилит, иначе вся эта фигня утомляет. и такой колхоз благодаря конструкции языка потом существует во множестве вариантов вобщем: юноше желающему постичь HDL на профессиональном (или даже продвинутолюбительском) уровне я бы советовал SV. а VHDL забыть, ну если только не придется поддерживать и развивать чей-то старый VHDL-ный код
  14. спасибо. более интересно через сокеты, я так понимаю, что это NI VISA, у меня другой сокет 1026 (в менюшке ИП указано), по-крайней мере 2268 не соединяется, но вот такой код не дает ответа (выход не включается), но на компе никаких сообщений об ошибках и веб интерфейс отваливается мне нужно бы разобраться с сетевым АПИ, прежде чем спрашивать, извините за лень, но может укажете, что написать, а я как мартышка скопирую :) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('GPP', 1026)) s.send(b'OUTP 1') надо еще перевод строки, чтоб заработало s.send(b'OUTP 1\n')
  15. там интерфейс по LAN сделан в виде веб-морды со строкой ввода, куда SCPI команды надо засовывать может кто-то скрипт писал/имеет для "человеческого" управления? для веб-программиста это наверняка как два пальца... <form id="form1" name="form1" method="post" action="scpi_command.cgi" onsubmit="reloadPage()">SCPI:<br> <input name="scpi" type="text" id="scpi" maxlength="128" /> <input type="submit" name="Submit" id="Submit" value="Submit"/> </form> там еще джаваскрипт используется, но если я правильно понимаю, то для того, чтобы напечатать ответ в форму (это можно и опустить для начала) function reloadXML(){ xmlDoc=loadXMLDoc("SCPI.xml?" + new Date().getTime()); x=xmlDoc.getElementsByTagName("SCPI"); txt = ""; for(i=0;i<x.length;i++){ txt = txt+x[i].getElementsByTagName("SCPICommand")[0].childNodes[0].nodeValue; txt = txt+x[i].getElementsByTagName("SCPIResponse")[0].childNodes[0].nodeValue; } if(""!=txt){ document.getElementById("SCPITEXT").value = txt; } сам я в вебпрограммирование вообще не умею, посмотрел в гугле - из-за обильной темы вообще ничего непонятно