Доброго времени суток. Вкатываюсь в ПЛИС (есть altera cyclone IV пока для тестов), планирую делать диплом на нём (3й курс сейчас бакалавр информатики и вычислительной техники) но не могу придумать - что таки собрать, может у кого-какая идея была когда-то но руки не дошли, или просто сейчас какая-то ассоциация... Паяльник держать умею, сложность потяну достаточно высокую, критично лишь время год остался)
>>316943 (OP) Ебани логический анализатор каналов на восемь с парой мегабайт записи, распознаванием паттернов и совместимостью с распространенными программами анализа. Можно, чтобы еще и светодиодом моргал.
>>316971 нихуя ты долбаёб братишка, земля тебе пухом. ВО первых - джава для петухов. Во вторых - мне похуй на зарплату ибо я уже положил крест на свою жизнь и в дальнейшем буду преподом дискретной математики. В третьих - плис это ахуенно интересно и если твоих пропитанных джавапарашей мозгов не хватает чтобы понять как оно и зачем - это не значит что направление тлен
>>317009 >плис это ахуенно интересно и если твоих пропитанных джавапарашей мозгов не хватает чтобы понять как оно и зачем - это не значит что направление тлен
Если бы ты понимал как оно и зачем то не задавал бы здесь тупых вопросов. Про то, что продублировал тред и бампаешь в тематике я вообще молчу. Залетное озлобленное говно из /b видно с порога.
>мне похуй на зарплату ибо я уже положил крест на свою жизнь Похуй на зп, пока твой мозг пропитан говном и юношеским максимализмом, со временем это пройдет, но чтоб не было поздно я дал тебе бесплатный совет - просто сравни количество вакансий и вилку зп на hh.ru по fpga и java и все поймешь.
>>316948 > https://2ch.hk/ra/res/127314.html Тот тред уже достиг бамплимита и медленно тонет. Надо либо новый оффициальный™ тред делать, либо сюда перекатываться и бортануть ОПа, раз уж создали.
>>317899 >либо сюда перекатываться Давай перекатываться. Задам свой вопрос тут.
ПЛИСаны, я не понял, вот я насинтезировал конфигурацию и залил ее в эту вашу FPGA, отключил питание и все пропало? Это мне надо отдельный контроллер мутить, чтобы каждый раз конфигураци. закидывать в нее?
>>317915 > А как быть с четвертым Циклоном? Ты это, по ссылке то ходить пробовал? > I have used Winbond and ST flashes in the past for Cyclone IV and Spartan III without any issues.
>>317914 Ставишь какую-нибудь EPCS и все. И вообще для обыкновенного частотомера не нужны FPGA и вообще ПЛИС, из-за низких частот в том числе.
>>317915 Так и в пятых циклонах нет микроконтроллера, там просто ядро. В FPGA (обычно) нет флеша потому что технологии изготовления FPGA и флеша чем-то отличаются.
>>317944 Достаточно EPCS4. Также у этих ПЗУ есть полностью совместимые аналоги. На всякий случай еще раз скажу: нет смысла использовать FPGA для простого частотомера. На FPGA не получится сделать быстрый счетчик. Целесообразнее использовать быстрый счетчик и любой микроконтроллер.
>>317949 Почему сразу не сказал? Вроде как банальная память 25 серии может быть аналогом, и местами даже более быстрым, и добываемым из ближайшей помойки. Как-то долбил ЭФО на тему оригинальных EPCS - это ахтунг, если сравнивать с "обычной" 25 серией: EPCS4SI8N 4,5$/шт, DC 15+ Есть на складе СПб, доставка 1-1,5 недель EPCS16SI8N 6,6$/шт, DC 16+ Есть на складе СПб, доставка 1-1,5 недель
ЗЫ - Какие сейчас есть не сильно древние FPGA с 5В входом и выходом ? Еще раз - ВХОДОМ и ВЫХОДОМ, а НЕ 5V-tolerant input. Честные 5В входы-выходы и было бы очень неплохо чтобы и другие напряжения держало (3.3, 2.5).. Altera FLEX, ACEX и прочие ? С софтом проблемы. Или плохо смотрел?Есть CLPD на 44 вывода LC4064V - у нее 2 банка VCCIO - в теории по даташиту можно осторожно подать 3.3 и 5В.
>>318209 > не сильно древние FPGA с 5В входом и выходом Выбери одно Пятивольтовые FPGA померли лет 20 назад, CPLD продержались дольше, но что MAX7000S, что XC9500 давно сняты с производства.
>>318388 Кто-то в теме? Уже прилично так посношал гугл, а он так и не дает ответа, как и 9-й кактус - у Flex 10K%30RI208-4% есть разделение пользовательских выводов по банкам напряжений питания или нет? На сайте альтеры в разделе pinouts какие-то мутные документы, где описаны только служебные выводы, а про обычные(пользовательские) ни слова. Видимо остановлюсь пока что на Flex 10K. MAX7000S - тоже есть для ловли баттхерта от заявленных максимум 100 перепрошивок. У EPM7128SLC84 - точно нет разделения выводов на банки - или все 3.3 или все 5В..
>>318400 >от заявленных максимум 100 перепрошивок. Народ пишет, что тысячи раз шили и нихуя страшного не случилось. Это типа Альтера перестраховуется, чтобы в случае чего ей мозги не ебли.
>>318400 Ты делаешь что-то странное, если тебе понадобились 5В уровни и при этом не подходит преобразователь уровней. Также оно стоит немало, если покупать с хоть какой-то гарантией. >есть разделение пользовательских выводов по банкам напряжений питания или нет? https://www.altera.com/en_US/pdfs/literature/an/an107.pdf Банков там нет. 5В одновременно с 3,3В на выходах (вроде бы) обеспечиватеся за счет внешнего подтягивающего резистора.
>100 перепрошивок Эти 100 перепрошивок - это количество перепрошивок при котором гарантируется заданное время сохранности данных во флеше. Если превысить, то производитель (всего лишь) не гарантирует что конфигурация будет сохраняться заданное время.
>>318418 Теплые, ламповые 5В.. Один раз был случай когда надо было немного логики в разрыв впихнуть, а не из чего, а свеженький циклон стремно было пихать, как и нормальные преобразователи 8T245 (или подобные) с 2 напряжениями питания негде было выдрать.
>Ты делаешь что-то странное Тяжелый осадок одной истории.
Еще раз перечитал - по ходу да, банков нет. Подав 5В на все VCCIO и получаем 5В ввод-вывод. Согласование выходов вниз (до 3.3) на резисторах, входов не нужно.
Про 100 перепрошивок - читал на марсоходе как они издевались, но там была cpld намного свежее в виде epm240, а не архаичной max7000.
FPGA хороша тем, что у нее нет ресурса перепрошивок, но и отладка как на МК - это порочная практика. Синтез проекта, заливка, оценка работы в реальном железе, правка, повторная заливка.. MAX10 показалась интересной - заливая через JTAG конфигурацию - она применяется. Передернув по питанию - грузится "заводская" конфигурация. Как минимум ресурс внутреннего флеша не должен уменьшаться. Есть на чем проверять, а мозгов для укрощения пока нет. Пробую VHDL неспешно изучать.
>>318418 Антон выручай. Altera Flex 10K поймет новую память 25 серии (какую-то некрофилию на мегабит-другой(из которых всего 46 килобайт используется) через преобразователь уровней) для хранения и загрузки конфигурации? По диагонали почитал AN116 - вроде возможно же. Как и поймет ли прямую запись pof файла или же преобразованного hex в конфигурационную flash?
>>318822 Этот антон прав. Почитал даташиты - никаких шансов приклеить 25 серию флеша к флексу. Заглянув в efind.ru и chipfind.ru в поисках epc1 epc2 at17 - прямо как на той картинке "все ебанулись". Стоят как крыло от самолета. И ладно.. Главное питание на рабочей схеме не дергать. На Altera UP1 (UP2) было только куда ставить саму память, но памяти не было. Вариант с МК конфигурить не рассматривал, хотя он скорее всего будет основным.
Я так понял прошлый тред тонет, продублирую: Парни, хелп. Нужная плата для акселерации вычислений. Суть в том, что она цепляется по эзернету, получает задания-считает-возвращает результат. Я нихрена не знаю, наугад предложил взять AES-KU040-DB-G http://ru.farnell.com/avnet/aes-ku040-db-g/dev-board-kintex-ultrascale-prog/dp/2775206?st=kintex Может есть что-то с более оптимальным соотношением цена/производительность? И если заказывать с фарнелл - не завернёт ли таможня? Пугают буквы "AES" в названии.
>>319849 Нужно исходить из ресурсозатрат твоего алгоритма. >Пугают буквы "AES" в названии. Иностранные поставщики соблюдают законодательство РФ горазбо более скурпулезней, чем пидорахен-таможня. Если согласятся отправить 90% что таможня пропустит.
>>322175 Можешь хоть что-нибудь предоставить в доказательство? Я покупал в терраэлектронике микроконтроллеры с аппаратным AES и они пришли в фарнеловской упаковке, все вроде как работает. И потом, как вообще можно выжечь какой-то блок, причем не задев соседние, если это не было предусмотрено при проектировании микросхемы?
Кроме того уже прошел месяц, наверное для анона задававшего вопрос это уже не актуально.
>>322178 >И потом, как вообще можно выжечь какой-то блок, причем не задев соседние, если это не было предусмотрено при проектировании микросхемы? ФЬЮ @ ЗЫ
>>322456 Дык на них есть нотификации фсб, а есть ли они на платы с плис - большой вопрос. В треде про компутеруниверс на /hw много разговоров про это. Есть две видюхи, аналогичные по характеристикам, одну можно невозбранно купить, а за другую чуть ли не присесть за ввоз антироссийского шифрующего средства. Как-то так, правда я слышал что эту шнягу потом отменили но это не точно.
И снова здравствуйте. Хочу прикупить тут чип XC7K355T-2FFG901I для своего девайса, смотрю цены, на фарнелл оно стоит €1 819,00. На ебее и на али встречаются цены от 12т.р. (€163,79) за чип. Это что наёбка какая-то? Откуда такой разброс цен?
>>324338 Тем не менее, всяких багуль, решающихся закрытием проекта, я тут словил уже больше. >Просто петушиное бинго сорвал. Ну и дрочи дальше свои иклюд дибрари ИЕЕЕ_СТД_ВЕКТОРА_МАТИМАТИКА сигнал стд_лоджик_вектор(10 даун ту 0) when => <= Что это вообще блять такое тут присходит. Ебануться.
>>324381 Багули ты ловишь, потому что руки из жопы растут. А что касается дрочи дальше, так это не я вынужден перейти на вхдл, а ты. Так что да, дрочи дальше.
Привет, плисач. Возможно, я не по адресу со своими проблемами но идти больше не знаю куда. Пытаюсь подключить параллельный АЦП к плис и заставить его нормально работать. И беда вот в чём, мне хватило ума развести плату и запаять чип но вот дальше просто не знаю что делать. Мой АЦП AD9226 имеет дифференциальный вход, но я распаял его как single ended и теперь не представляю как на него нужно правильно подавать сигнал, и исходя из этого проверить работает ли он корректно. Ранее для проверки я не придумал ничего лучше, чем написать конфигурацию, которая сначала собирает несколько тысяч семплов в память, а потом выдаёт их по uart на комп, скрипт на питоне рисует график, график на котором получается хуйня. На второй пикче на вход был подключен генератор меандра 100 кгц, на третей его увеличенная часть. С ацп берётся 8 бит из 12, для передачи семпла одной посылкой uart, на входе присутствует 1 вольт от встроенного в ацп источника опорного напряжения. Если вы ещё не поняли, что я довн, я говорю об этом прямо. Помогите.
>>324459 Начни с подачи постоянного напряжения на вход АЦП. В твоем случае - от 1 до 3В. Подал напряжение, записал отсчеты, посмотрел че получилось, поменял напряжение. Поставь себе какой-нибудь Bitviewer, чтобы было проще смотреть че у тебя записывается в файл. И да, у тебя отлажена схема записи в память/чтения из памяти/передачи по UART?
>>324504 >Bitviewer Чем оно лучше калькулятора в виндовсе?
>И да, у тебя отлажена схема записи в память/чтения из памяти/передачи по UART? Было бы что там отлаживать, простейшая же ерунда. Я тоже делал такое, только в отличие от этого анона я писал по 32 бита и принимал в матлабе.
>>324506 >Чем оно лучше калькулятора в виндовсе? Калькулятор может нарисовать что-то такое?
>Было бы что там отлаживать, простейшая же ерунда. Я тоже делал такое, только в отличие от этого анона я писал по 32 бита и принимал в матлабе. Молодец. Но я спрашивал не у тебя, а у этого анона.
>>324897 Это не навыки. Я про алгоритмы, хуе мое. То, что нужно сидеть в виваде под сисверилгом\вхдл плисоебу - это очевидно. Си, я так понимаю, уже для скриптом в микроблейзе\цинке?
>>324897 Это в оборонке такое хотят? С одной стороны, не представляю, кто в рашке может платить за плисоёбство, кроме оборонки, с другой, систем верилог и пайтон — для оборонки очень по-хипстерски.
>>324922 Ну, из алгоритмов это фильтрация, ресэмплинг сигналов, различные виды модуляции, прием сигналов спутниковой связи, ФАПЧ, временные синхронизации, тактовые синхронизации, АРУ, Витерби, BCJR, LDPC и т.д. и т.п. На C/C++ пишешь модели разрабатываемых алгоритмов, а потом переносишь на ПЛИС, или чужие модели, написанные на C/C++ переносишь на ПЛИС.
Объясните классический нубский вопрос. Как два байта переслать (vhdl)? literally. Я вот о чем. Был у меня msg STD_LOGIC_VECTOR, в котором вручную забито сообщение в хексе в аскии. И которое я спокойно пересылал с помощью мультиплексора, мол, если первый бит, то отсылаю из этого вектора кусок от 7 до 0. case i when b"00" => data(7 downto 0) <= msg(7 downto 0) и т.д.
Но надо быть человеком и использовать массивы, тайпы, хуяйпы. Как мне объявить мое сообщение? Как мне обращаться к его кускам по индексу, если у меня индекс-счетчик изначально тоже вектор? Если забиваю на вектор-счетчик и делаю отдельный integer для индекса, то всё равно при обращении к массиву типа msg(7 downto 0) пишет, мол, внутри msg нихуя не вектор и иди нахуй. Колбасная магия с приведением типов to_unteger(unsigned i) это тоже отдельная песня. Фокус с циклическим сдвигом ror тоже, кстати, не работает. Мол, не определена операция и всё такое.
Итак, еще раз. Как передавать символы по одному используя в качестве исходных данных массив? И всё должно быть, естественно, синтезируемо. Спасибо.
>>325580 Что-то не вполне тебя понял. Я VHDL подзабыл, но все равно как-то написал пример. Если этот "массив" довольно большой, то целесообразно использовать блочную память. В таком случае имеет смысл организовать код таким образом, чтобы можно было заменить память на примитивы и мегафункции всякие, если вдруг синтезируется не так. К тому же так меньше вероятность сделать ошибку и получить какую-нибудь трехпортовую память.
>>325602 Ну вот у меня есть Hello. Я его объявлял constant msg : std_logic_vector(39 downto 0) := X"68656c6c6f" И обращался case cnt is when B"00" => data <= msg(7 downto 0) ...
Вот захотел не писать этот ебаный мультиплексор с кейсами, а как белый человек, через переменную. Но переменная у меня лоджик вектор, которую так просто не засунешь в скобки, нужно приводить в to_integer(unsigned()).
Как вообще на синтезируемость влияют эти все конвертации, какая предсказуемость результата?
Далее. Не хочу задавать явно в хексе вручную. Хочу писать constant msg : string := "Hello" И чтобы достать конкретную букву, соответственно писать if rising_edge(clk) and (cnt <8) then data(7 downto 0) = msg(cnt) Но тут уже ругается, что msg(cnt) выдаёт не биты, в которых блять тут все должно хранится,, а, собсно, букву. Опять нашел, что стринг это массив чаров, которые тоже можно там по ебаному как-то конверсить в нормальные биты.
>>325604 >Но переменная у меня лоджик вектор, которую так просто не засунешь в скобки, нужно приводить в to_integer(unsigned()). Приводи, в чем проблема? Тут же строгая типизация.
>мультиплексор В данном случае это скорее дешифратор.
>Как вообще на синтезируемость влияют эти все конвертации, какая предсказуемость результата? Лучше посмотри исходники ieee.std_logic_1164, которые должны быть в твоем САПР и симуляторе. Там будет видно, что unsigned и std_logic_vector отличаются только тем, что для них определены разные операторы/функции. А определения этих обоих типов абсолютно одинаковые.
>это массив чаров Которые имеют перечислимый тип. И прописаны они в пакете STANDARD, исходники которого также везде имеются.
>>325619 >Приводи, в чем проблема? Для меня это всё еще выглядит черным ящиком и магией коньпилятора, когда не ясно, что там внутри на уровне схематики происходит. Хотя вот раз говорят, что это всё ходы, чтобы обмануть сапр, а на самом деле там внутри одно и то же байтоебство, то буду менее настороженно к этому относиться. Но выглядит всё равно некрасивенько. >В данном случае это скорее дешифратор. Верно, извиняюсь.
С индексом разобрались, вектор в ансайнд, оттуда в интежер. А что с обращением к символу в строке, как его в биты перевести? Свою функцию перевода писать, как рекомендуют?
function to_slv(c: character) return std_logic_vector is begin return std_logic_vector(to_unsigned(character'pos(c)), 8)); end;
>>325692 Можно на огромной скорости молотить в логике операции, которые процессорное ядро на такой скорости не вытянет. А ядро будет заниматься всем остальным. Бесценно для обработки сигналов.
>>325716 Нахер оно нужно? Лучше уж готовый копеечный езернет контроллер поставить. Вот высокоточная обработка и анализ СВЧ аналога в реалтайме - интересная тема. Но нужны оче дорогие ацп и цап.
>>325719 Разве? В одном из самых простеньких циклонов EP4CE22 (который я люблю за TQFP корпус), есть 66 умножителей 18х18 бит, которые могут работать на ~200МГц. Параллельно умножителям там может работать куча сумматоров. Безусловно, какие-то DSP такое потянут, но если взять ПЛИС побольше?
>>325718 А если критична задержка и надо фильтровать пакеты на 7-м уровне osi на скорости 10 гигабит? А если надо выполнять ещё расчёты и выдавать отклик? На плис такая задержка будет минимальной, можно выстроить схему так, что расчёт будет идти конвеером и сложный алгоритм будет выполнятся за пару тактов, на проце такое сделать иногда просто невозможно, или нужна многоядерная йоба и ртос, и это будет нихуя не дешевле плис и разработка намного сложнее будет. >>325715 Есть такое.
>>325620 >это всё ходы, чтобы обмануть сапр Именно. По сути преобразование типов - это преобразование метаинформации о битах, а не самих битов. >>325625 >Слишком уже задротская тема какая-то Когда я еще наивно полагал, что vhdl это неплохой язык, наткнулся на https://github.com/VLSI-EDA/PoC библиотеку, которая немного упростила байтоебство. Ничего лучше под этот язык пока не знаю.
Прошу вашей консультации. Дело таково. Мне нужно знать, можно ли сэкономить транзисторный бюджет и скорость, заменив стандартный float16 вычислитель на некую имитацию с фиксированной точкой.
Что мне нужно. Допустим умножать. Каковы особенности чисел? 1. Со знаком. 2. Фиксированная точка (на десятых долях допустим) 2.1 1.3 4356.5 3. Но, когда число в диапазоне (-1 1), точку нужно перенести в старший разряд, для макс точности. Например 0.124321 -0.932323
А результат пишется в большой регистр в формате с фиксированной точкой. Например 435626.124321
>>326130 >Современные погромисты Ты из какого НИИ им. тов. Подзалупкина вылез? Кому впёрлись твои расчёты когда у нас аппликашка календарика на мобиле загружает под 100% 4 ядра по 1.4Ггц просто красивенькими анимациями и полупрозрачными 3д переходами? Здесь другие ребята, анон, не стоит шутить про расчёты, это тебе не шиндоус 3.1, здесь абстрагируются по-крупному. Здесь пишут на языке богов, где любая сущность объект, где всё наследуется от всего, где просто хэллоуворлд может занимать тысячи строк кода и при внесении пары изменений в коде управлять заодно ядерным распадом в коллайдере, здесь шаблон погоняет кодогенерацией, здесь просто приложение с показом времени отжирает 2 гига оперативы на старте и занимает 500 мегабайт на диске. Тут используют Анриал Енджин только чтобы перемножать пару матриц в его математической библиотеке, здесь гарбадж коллектор трахают прямо в анус, создавая тысячи объектов в каждом кадре и не освобождая ручками ни один.
Забудь ты про свой найтивный код. Здесь совсем другая тема. Тут программируют совсем на другом уровне.
>>326130 >На каком принципе работает курсор? Как определяют координаты и взаимодействие к примеру с окном? >А где можно подробнее глянуть про контррллер дисплей? Как он формирует текст? Это опять ты вылез? Это не радачеры тупые, а ты. Не можешь даже оответствующую литературу прочитать. Как вообще тебе объяснять, если ты не знаешь базовых вещей? Вот на картинке мой код простейшего процессора, много ты понял? А если нарисовать это на отдельных регистрах и счетчиках? Нихуя ты не поймешь, потому что "регистр" — для тебя пустой звук. Ну, можешь попытаться все это понять с помощью nand2tetris — это такой курс для тупых программистов. Но ты сейчас опять в лучшем случае поблагодаришь и продолжишь писать тупняк.
А картинка выглядит просто шуткой. Любой человек, пишущий на ассемблере, сможет вручную по таблице опкодов перевести текст в машинные коды. Остальная "иерархия" также имеет мало смысла.
>>326182 >И как твой код переводится в машинный? Где эта прога нахожится, что переводит? Оказывается ты тупее, чем мне казалось раньше. Заголовок треда не видел? Поскольку ты такой тупой, все же попытаюсь объяснить. Этот код, в некотором приближении, можно считать схемой в текстовом виде. Специальная программа (в первом приближении) располагает эту схему внутри ПЛИС так, чтобы она занимала меньше места. Так же как в случае с ассемблером, любой плисоеб, может вручную, без компа перевести этот код в схему (но не внутри ПЛИС, по разным причинам). >Про регистры я читал Но нихуя не понял, иначе не писал бы тут тупняк.
>>326144 Ты из какого НИИ им. тов. Подзалупкина вылез? Кому впёрлись твои расчёты когда у нас аппликашка календарика на мобиле загружает под 100% 4 ядра по 1.4Ггц просто красивенькими анимациями и полупрозрачными 3д переходами? Здесь другие ребята, анон, не стоит шутить про расчёты, это тебе не шиндоус 3.1, здесь абстрагируются по-крупному. Здесь пишут на языке богов, где любая сущность объект, где всё наследуется от всего, где просто хэллоуворлд может занимать тысячи строк кода и при внесении пары изменений в коде управлять заодно ядерным распадом в коллайдере, здесь шаблон погоняет кодогенерацией, здесь просто приложение с показом времени отжирает 2 гига оперативы на старте и занимает 500 мегабайт на диске. Тут используют Анриал Енджин только чтобы перемножать пару матриц в его математической библиотеке, здесь гарбадж коллектор трахают прямо в анус, создавая тысячи объектов в каждом кадре и не освобождая ручками ни один.
Забудь ты про свой найтивный код. Здесь совсем другая тема. Тут программируют совсем на другом уровне.
>>326207 Лол. Спасибо за терпение. Я про плис не спрашивал т.к. не разбирался с ним и не собираюсь пока.
Я просто тут часто спрашивал и всех заебал про ассемблер. Я так понял, что сам кодер опкодов в машинный заложен уже в архитектуре проца. Но сам ассемблер это сорт компилятора?
А про курсор я еще не понял детально. Хочу найти подробные схемы видеоконтроллера кр580вг75
>>326218 >Я так понял, что сам кодер опкодов в машинный заложен уже в архитектуре проца. Но сам ассемблер это сорт компилятора? Не, это просто бессмысленный набор слов. Нихуя ты не понял. Абсолютный нуль знаний. Хотя это даже не нуль, ты в минус пошел. >Хочу найти подробные схемы видеоконтроллера кр580вг75 Опять ты со своим выводом изображения на экран? Ладно, в очередной раз попробую объяснить. Начинать нужно с аналогового видеосигнала, того который в телевизоре или мониторе на ЭЛТ. В телевизоре электронный луч двигается зигзагом за счет отклоняющего магнитного или электрического поля. Попадая в экран, электроны засвечивают люминофор. Чем больше электронов - тем сильнее свечение. Таким образом, для того чтобы сформировать изображение, нужно менять силу тока электронного луча в кинескопе. Воздействие, заставляющее меняться силу тока, представляет собой видеосигнал (в некотором приближении, т.к. надо еще синхронизировать перемещение луча). Аналоговый видеосигнал, как и любой аналоговый сигнал, это просто напряжение или другая величина, изменяющаяся во времени. Все, теперь задача процессора с "видеоконтроллером" сводится к формированию заданного аналогового сигнала. А для этого, в самом простом случае, достаточно лишь приделать параллельный ЦАП к параллельному порту и написать программу, которая будет в этот порт выводить требуемые значения. При такой постановке задачи это ничем не отличается от вывода любого другого аналогового сигнала, например звука. КР580ВГ75 в некотором приближении всего лишь перекладывает часть этой работы с процессора на себя. Вот в каком месте тебе не понятно? Это даже многие ардуинщики понимают. Те самые, про которых ты так отзывался >>326140
>>326226 Небольшое уточнение. Третье состояние могут проверять оба оператора, но только при симуляции. Это не синтезируется, разумеется. casex помимо "Z" может проверять на "X", вот и все отличие. А для синтеза используется значение "?" (пропускает любое значение).
Ну хорошо, а где тогда находится тот декодер, который код с экрана переводит в машинный? Ты же сам понимаешь, что буквы с экрана не с помощью магии в машинный код переводится.
Да я понимаю, что экран это по сути сетка пикселей, в зависимости от сигнала кода контроллер зажигает определенные пиксели и таким образом формируется изображение. А как вот курсор работает, обратная связь?
>>326252 Ты какую-то хуйню городишь. Напиши нормально что ты хочешь узнать. Написаный текст на языке погромироаания переводится в инструкции процессора компилятором. А хуйню с курсором и обратной связью лучше бы не писал
>>326252 Ты какой-то совсем больной на голову. >Ну хорошо, а где тогда находится тот декодер, который код с экрана переводит в машинный? Переводом текста программ в машинный код занимается компилятор. Комилятор это программа такая, если что. Зачем делать компилятор, который будет брать текст с экрана? Не кажется ли тебе логичнее брать текст из файла или какой-нибудь области ОЗУ? >Ты же сам понимаешь Нет, твое чириканье я не понимаю. Отдельные слова вроде понятны, но предложения бессмысленные.
>А как вот курсор работает, обратная связь? Лучше выпились. Все объяснения как оно работает есть в книгах, которые тебе уже советовали. Причем это книги не для специалистов, а просто для общего развития, понятные не профессионалам. Ты, может быть скажешь, что "читал", но я тебе не верю или ты читал жопой. Попробуй напрягать голову в процессе чтения и отвечать на контрольные вопросы в конце каждой главы.
>>326261 >Лучше выпились. Слушай, этот тип, с периодичностью 2-3 месяца, врывается в радач и начинает задавать одни и те же вопросы по кругу. Постоянно находятся сердобольные аноны пытающиеся ему пояснить, хотя все это расписано и разжевано в сотне книг рассчитанных на широкий круг icq. Но этот унылый траль продолжает и продолжает уныло тралить.
>>326264 Какие книги, посоветуй авторов? Я проебал ссылки
>>326260 >курсор Ну если ты не знаешь, то так бы и сказал сразу. Если ты не можешь объяснить ребенку на пальцах что то в течении минуты - значит ты это сам не понимаешь
>>326261 Бля. Я не говорю про текст с экрана. Это всего лишь интерфейс для человека поняинтно. Про компилятор знаю, но принцип ты его понимаешь? Ты же вот мне про регистры говорил. Говришь программа переводит, это и так любому школьнику понятно. Ну ты же сам понимаешь, что программа это не магия, а по сути управление логическими элементами и кодерами, которые из этих вентелей и состоят. Так я всего лишь это хотел и узнать - где эти кодеры и находятся - в архитектуре проца или нет. За терпения спасибо тебе конечно. Вы конечно радачеры молодцы, можете делать/собирать йоба устройства и погроммировать, но на уровне микро видимо мало кто понимает, кроме инженеров интела и т.п.
И что я такого задал про курсор плохого? Мне просто интересно, какой принцип.
>>326275 >Так я всего лишь это хотел и узнать - где эти кодеры и находятся - в архитектуре проца или нет. У меня аж голова заболела. Кодеры - они за компом, вне проца находятся. >но на уровне микро Тебе интересно понять, как проходит движение основных носителей заряда в приповерхностном слое?
>>326276 Ну вот тебе элементарный шифратор 10 чисел в двоичные к примеру Они же находятся уже в архитектуре проца? Я собственно и пытаюсь это у вас тут узнать какой уже месяц лол
>>326278 Блядь, ебаный ты шизоид, ты можешь нормально выражать свои мысли? Твой поток сознания читать просто не возможно. Возникает ощущение, что у тебя разорванное мышление или речевая бессвязность. Просто словесный шум какой-то. Прими таблетки и не забывай посещать психиатра, у которого наблюдаешься.
>>326252 >а где тогда находится тот декодер, который код с экрана переводит в машинный Переводом исходного кода в машинный код занимается компилятор, а не декодер. >А как вот курсор работает, обратная связь? По-разному, в зависимости от архитектуры и вида курсора.
>>326275 >Ну ты же сам понимаешь, что программа это не магия, а по сути управление логическими элементами и кодерами, которые из этих вентелей и состоят. Программа - это последовательность инструкций процессора. Это по сути. Она управляет вычислениями, а не логическими элементами. >но на уровне микро видимо мало кто понимает Нет такого уровня, ты словоблудишь. На уровне цифровой схемотехники понимает любой плисовод, например. >Если ты не можешь объяснить ребенку на пальцах что то в течении минуты - значит ты это сам не понимаешь. Глупости. Нельзя научить, можно только научиться. Раз ты называешь дураком того, кому задаешь вопросы, значит ты еще больший дурак. >Какие книги, посоветуй авторов? Я проебал ссылки Что ты хочешь узнать?
>>326275 >Какие книги, посоветуй авторов? Я проебал ссылки Я выше упоминал nand2tetris. Хотя это не совсем книга, но так даже лучше зайдет. Это курс по построению процессора из отдельных вентилей 2И-НЕ, конечный итог - работающий на этом компьютере тетрис. Если бы ты задавал вопросы по этому курсу, то тебе наверняка бы кто-нибудь ответил. А так ты несешь бред и удивляешься не менее тупым ответам. >Если ты не можешь объяснить ребенку на пальцах что то в течении минуты - значит ты это сам не понимаешь Неправильная логика. Это бы означало, что все что ты "читал", писали люди, не осознающие того что пишут. А это явно не так. >Про компилятор знаю, но принцип ты его понимаешь? Понимаю, написал сам парочку простейших. Лежат рядом с кодом вышеприведенного процессора. >Ну ты же сам понимаешь, что программа это не магия, а по сути управление логическими элементами и кодерами, которые из этих вентелей и состоят. Машинные команды, из которых состоит компилятор, ничем не отличаются от машинных команд любой другой программы. Похоже ты не осознаешь что такое процессор и что он делает. Причем не на уровне того что у него внутри, а что он выдает наружу. Если бы ты сам попробовал запрограммировать на ассемблере хоть что-нибудь, а потом вручную перевести код на ассемблере в машинные коды, то таких тупых вопросов точно бы не задавал. Но ты просто "читал", не напрягая мозги и не отвечая на контрольные вопросы. А потом ты наверное еще головой стукнулся, и в голове у тебя какие-то "кодеры" перемешались с компиляторами. >но на уровне микро видимо мало кто понимает, кроме инженеров интела и т.п. Специалистов по физике твердого тела тут действтительно не наблюдается. Но тут есть несколько анонов, способных придумать простенький процессор и нарисовать его схему на отдельных транзисторах. На это способны все плисоебы. Выше по треду тебе наглядное подтверждение.
>>326278 Именно такие в процессоре вряд ли окажутся. В вышеприведенном процессоре такого нет. Или у тебя вопрос в том, как программа будет переводить десятичные числа (код 1 из 10) в двоичные (натуральный двоичный код)? Так это совсем просто, например посредством команд сравнения и условных переходов.
Все, мне надоело отвечать на твой тупняк. Если следующие вопросы будут не по курсу nand2tetris, то отвечать тебе не буду. Вопросы по этому курсу можешь задавать в этом треде.
>>326696 This! Спасибо за перевод с битардского. Я просто ахуеваю сколько стоят отладки с интерфейсами PCI-E и SFP+ Они что блять из золота? Может дешевле выйдет, если самому развести и заказать у китайцев?
>>326757 Это не перевод, а попытка затраллеть (или нет, в случае только разъёма). Вообще это PCI Express Electromechanical Specification, не? Дешевле или нет, ящитаю, зависит от конкретной отладки или конкретно того, что тебе нужно, и в каком количестве.
>Или без диплома магистра? С дипломом специалиста нормально. А с дипломом бакалавра сложно. Сразу же возникает вопрос почему не доучился. Обстоятельства или просто дурак?
>>326757 > отладки с интерфейсами PCI-E и SFP+ > Они что блять из золота? Они, прежде всего, предназначены для больших дяденек с серьёзным бизнесом, а не для гаражных ниггеров.
>>326979 Как правило в руководстве компаний, которым в РФ нужны плисаны (оборонка) сидят дяди старой формации, воспитанные еще при Брежневе. А им ты хуй объяснишь, что бакалавр это высшее образование.
>>327012 Высшее образование времён Брежнева безвозвратно ушло ещё в начале нулевых. А бакалавр это по сути научный работник, не заточенный под выполнение узко специализированных задач, но с развитым умом и большим количеством креатива. Магистр это уже по совковым меркам кандидат наук. Далее только доктор философии. Но как всегда у нас все смешалось и превратилось в кучу дерьма. Вся надежда на этот срок Путина, по словам будет восстановление разрушенной системы образования и подъем с колен собственной микроэлектроники.
>>327019 >бакалавр это по сути научный работник, не заточенный под выполнение узко специализированных задач, но с развитым умом и большим количеством креатива И хули тогда бакалавры делают в ВУЗах, которые готовят инженерные (читай, прикладные) кадры?
>>327023 Он же написал, что у нас все как обычно перемешалось. Однако не логично то, что даже первоначально бакалавр - это промежуточный этап перед магистром. Нет смысла готовить узкоспециализированного человека, чтобы потом еще пару лет готовить из него специалиста широкого профиля. Либо так не должно быть вообще, либо бакалавров должно быть два вида.
Анон, а никому не попадались книги с практическими курсами и заданиями для FPGA? Т.е. не стопятсотый пересказ спецификации языка и водолейством «что такое двоичная система и в чём разница между CPLD и FPGA», а нечто вроде "FPGA prototyping by Verilog (VHDL) examples".
>>327747 Очевидно стм32. Стм-ку можно купить, сделать для неё плату из говна и палок однослойную, развести распаять и девайс готов. ПЛИС для махараечных датчиков - оверкилл. Если хочется - можно плисоебить чисто в редакторе с тестбенчем.
>>327751 Это называется внушение. Могу и аргументировать. Желание перейти к ПЛИС - это желание анализировать. ПЛИС даст тебе знание внутреннего устройства контроллеров и процессоров. Желание анализировать возникает в левом полушарии мозга, и если оно активно - то девушка вращается по часовой стрелке. Желание перейти к STM32 - это желание создавать. STM32 даст больше возможностей, власти для своих идей. Желание создавать рождается в правом полушарии и когда оно активно, девушка движется против часовой стрелки. Лучше то, что тебе ближе.
>>327747 >Надоело тупо подключать ардуино библиотеки для датчиков. Учитывая это предложение, тебе лучше как следует изучить микроконтроллер в своей ардуине. Для начала ты можешь делать все то же самое на ардуиновской плате, но не использовать ардуиновское иде и библиотеки. Ты наверное даже с регистрами в атмеге не разобрался? Представь себе, микроконтроллер, который стоит в ардуине, разрабатывался не для ардуины вовсе. Даже более того, существуют какие-то ардуины и на Cortex-M3. Если бы ардуины начали делать на STM32, а такая возможность есть, то что бы ты тогда делал?
>>327753 В целом верно, но однослойную плату под QFP-144 в домашних условиях вполне можно сделать. А CPLD в PLCC корпусах с панельками вообще можно на макетке паять.
>>327773 Ну аналоговые сигналы можно и на другом конце потыкать, а не у ноги плисины. Конечно, есть всякая срань шумовая по пути, но я уж не знаю, насколько это важно.
>>327774 Так то аналоговые сигналы обычно непосредственно в ПЛИС не заходят. Входной аналоговый сигнал смотришь на одном конце, выходной на другом, а синхронизируешься от вывода ПЛИС, например. Ну и потом, во FLEX10K ничего такого не имеется.
>>327775 Мне кажется для подобных целей достаточно сделать отладочные пятаки на этапе проектирования печатной платы. Плюс, насколько я знаю, пятаки, к которым паяется BGA обычно делают сквозными и их можно потыкать с другой стороны печатки? Разве нет? Сам редко этим занимаюсь.
>>328924 На всякий случай скажу очевиднейший факт, который, возможно, тут не все знают. В отличие от микроконтроллеров, тут для чего-то более-менее сложного без симуляции не обойтись. Непосредственно для обучения плата не требуется. Поэтому если что-то и покупать, то в основном для того чтобы просто посмотреть как оно работает. Книгу там выше по треду советуют >>327693 Сам я советовать не буду, т.к. то что я читал, мне не понравилось.
>>328926 >6205 Может 6502? >с оперативкой сразу. В самих FPGA достаточно много блочной двухпортовой памяти. В весьма небольшой EP4CE10 этой памяти 414 кбит, в EP4CE22 594 кбит, по моему этого вполне хватит для игрушки на 6502. Если все-таки хочется отдельную память, то стоит определиться с ее типом.
Радач, что почитать, чтобы нормально вкатиться в вети на низком уровне? Помню, рекомендовали сиську читать, но там разве не применительно к их аппаратуре? Читал стандарт IEEE на 802.3 - маловато\сложновато. Маки, хуяки. Ничего не ясно.
>>327807 > Плюс, насколько я знаю, пятаки, к которым паяется BGA обычно делают сквозными Ничего ты не знаешь, Джон Сноу. Потыкать можно в переходные отверстия, через которые ноги соединяются с другими элементами схемы. Сами контактные площадки не сквозные, а поверхностные.
>>329205 Ты странный. Хочешь вкатываться на низком уровне, а стандарты тебе СЛОЖНА. Кроме того, низкий уровень - это что? Схемотехника PHY? Логика MAC? Алгоритмы протоколов верхнего уровня? Будешь делать свой W5300 на ПЛИС? Будешь делать свой TCP/IP-стек на STM32?
Какая линия прогресса у плисоеба? И критерии качества? Ну вот поморгал ты светодиодиком. Потом двумя. Потом сделал рс232 приемник, ... как там дальше? И как плохого плисоеба отличить от хорошего? Быстро кодит? Мало блоков использует?
>>330542 > USB, 10/100 Ethernet PHY, гигабитные приемопередатчики Это зависит от наличия бабла на дорогие ПЛИСы и корки, или погромиста (не быдлокодера) под боком.
>>330587 >дорогие ПЛИСы и корки, или погромиста (не быдлокодера) под боком Необязательно, я 100 Ethernet в одно рыло поднял, и без всяких NIOS-ов и прочих говнософтовых и хардовых процов. А все нужные корки есть в свободном доступе.
Плисаны, делаю тут (в целях самобучения) секундомер с динамической индикацией (на семисегментниках) и внезапно затупил. Как идеологически верно и политически грамотно организовать генерацию низкочастотного строба (http://zipcpu.com/blog/2017/06/02/generating-timing.html )? Генерировать его на месте, в каждом из модулей (мультиплексор, дешифратор семисегментного кода и т.п.), или же генерировать его один раз и использовать в качестве тактового сигнала для модулей?
>>330587 >Это зависит от наличия бабла на дорогие ПЛИСы и корки, или погромиста (не быдлокодера) под боком. Зависит. Но вопрос был какая линия прогресса у плисоеба. А в серьезных конторах хотят, чтобы плисоеб мог смахараить свич на ПЛИС.
>>330646 >EN Никак не могу понять, этот EN - обычный вход разрешения, завязанный на вход D, или же какой-то спец. вход завязанный на тактовый вход? мимо
>>316964 Этого двачую! Логический анализатор для начинающего плисоёба - отличный проект. Можно ещё 8-битную игровую приставку из ничего (от вентилей до написания игрули) попробовать замутить.
>>330833 >count enable Это в счётчиках. Это синхронный вход, подаётся через комбинационные схемы на D-вход. Мне интересен именно clock enable у D-триггера. Желательно схему такого триггера увидеть.
>>330892 Насколько я понимаю, это можно сделать не одним способом, но например в структурных схемах МК рисуют вентиль И. А в логической ячейке ПЛИС уже есть аппаратный триггер, и как там у него внутри сделан вход clock enable, производитель не расписывает (ну, по крайней мере, Альтера для Циклона не расписывает).
>>330985 По такой схеме повышаются требования к сигналу EN, он должен быть таким чтобы на тактовом входе не образовались пички. И вообще, комбинационные схемы и другие на тактовых входах крайне нежелательны - синхронное проектирование же. Вот тут подробнее рассказывается https://youtu.be/82MIcxi5pPo https://youtu.be/JpUUdEEKZeg
Привет, Анон, я смотрю тут много вопросов на тему "что мне выучить чтобы устроиться на работанейм?" Работаю 4 года FPGA-разработчиком, могу ответить на твои ответы.
>>331190 Сколько процентов рабочего времени ты занимаешься именно разработкой - проектированием структурных схем, кодингом, симуляцией, пердолингом с железкой?
Шмитт, помоги есть смысол собрать универсальный нищебродский девборд. Хочу связку: STM32F103ZXXX как основной узел ..., нутыпонел. XC6SLX9-2TQG144C как вспомогательный. На плате будут распаяны: слот под microSD, SDRAM, SPI flash (S6 заведётся от W25QV?). Чего ещё не хватает для универсализации? кроме мозгов
А в даташите пишут что есть, более того, пишут, что у V серии FSMC наоборот кастрирован в отличии от Z. Это ты наверное в таблице на сайте посмотрел, так её наверняка какая-нибудь секретутка из офиса заполняла, верить ей не стоит, в отличии от даташита.
>>331954 Ан нет, здесь попал. >The FSMC is embedded in the STM32F103xC, STM32F103xD and STM32F103xE performance line family. Но при этом в другом даташите: >The FSMC is embedded in the STM32F103xF and STM32F103xG performance line family. Получается, все с буковками должны иметь FSMC, но в F103R в кубе нету нихуя, хотя в описании есть. Это куб мозги ебёт или документация? Расширенный CS есть только у Z, да.
>>331970 Орнул с даташита, раздел Pinouts and pin descriptions. У LQFP64 нет выводов к FSMC. Это выглядит как "вам полагается FSMC, но мы вам его не дадим потому, что у вас ножек нету".
>>331978 >вам полагается FSMC, но мы вам его не дадим потому, что у вас ножек нету". И хуле орать? Бери чип с нужным количеством ног и радуйся. Или ты предлагаешь писать отдельный даташит под каждый корпус?
>>331988 Не, ну там на 11-ой странице в Table 2 и так написано что-то, но можно же эту таблицу было вывалить сразу в описании на сайт или, хотя бы, добавлять исключения в описание. А то получается, что в описании всё есть, а дальше мелким шрифтом на n-ой странице написано, что у одного нихуя нет, а другой кастрирован. Это как если при покупке смартфона в описании нормальные характеристики, а в инструкции меленько будет написано, что телефона нет, собс-но, 128Гб в другой модели, и вообще это тетрис.
>>331221 70% Большая часть времени уходит на ёблю с контролем версий и написание драйверов на коленках >>331222 СПб, 75к, обработка видео и ТВ-техника >>331515 SV
Плисачи, такой нубский вопрос: Есть sigA STD_LOGIC_VECTOR, скажем, на 32 бита, и sigB STD_LOGIC. Как красиво назначить некоторые биты вектора равными значению сигнала? Т.е., чтобы sigA(13 downto 7) <= sigB. Напрямую, естессно, не работает. Каждый бит прописывать - тупо. Я помню была какая-то ебатория с фигурными скобками типа <={N, (sigB)} или типа того. А может то в верилоге было.
Описание на Верилоге - на пикче. На входе - сигнал в спектре шириной 3 кГц после КИХ-фильтра. Из-за мгновенного действия детектора усиление сильно проваливается от грозовых разрядов, и из-за ступенчатой регулировки слышно щелчки, пока работает какая-нибудь станция.
Как можно попроще сделать регулировку плавной? Как текущий вариант допилить? Может фильтр простенький какой (скользящее среднее, например), чтоб щелчки сглаживать?
>>332811 Почему бы тебе не сделать схему с обратной связью? Так же как в аналоговых приемниках делают. Детектор - просто взятие модуля. Интегратор сигнала ошибки - ФНЧ и вычитание из порога. А управляемый усилитель - умножитель.
>>332821 Попробую. Тут встаёт вопрос выбора разрядности.
Допустим, в качестве фильтра беру скользящее среднее длиной 2048 семплов (больше по степеням двойки в такт не влезает). Имея на входе 17 бит, при длине 2048 и худшем случае, когда на входе - максимальное постоянное напряжение, получаю увеличение разрядности на 11 бит. Итого, на выходе фильтра имеем разрядность 17 + 11 = 28 бит. Тут первая непонятка: Какая разрядность вычитателя должна быть?
Плисаны. Вот стоит перед нами задача. Из входов с помощью магии получить выходы. Пишем вот на HDL всякое и первоначальными критериями того, что всё удалось является адекватная временная диаграмма, количество занимаемых ячеек и работа непосредственно на железке. А вот как писать код чтобы: было низкое энергопотребление или высокая скорость выполнения или минимальное количество ячеек? На что ориентироваться, как это на коде отражается?
>>333264 Вот в циклоне, как показано на схеме, предусмотрено переключение направления на ходу, а не только при конфигурации. В других ПЛИС аналогично. В чем проблема то?
>>333326 HDL-код - это всего лишь способ создания схем. Можно схемы в графическом редакторе рисовать, можно напрямую в ChipPlaner-е структуру задавать, от этого ничего не меняется, просто в HDL-е это всё делается быстрее и удобнее. А чтобы нормально кодить, надо более менее представлять как желаемая схема должна выглядеть в графическом виде. Можешь видосики глянуть, может что-то интересное найдёшь https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
>>333326 >Хотя как это ретранслируется в код пока неясно.
FPGA основана на таблицах истинности+специализированные блоки (память, умножители). Смотри даташит конкретной плисы. Например LE четвертого циклона - это любая логическая функция, описываемая 4 входами и одним выходом + один бит памяти + логика роутинга и синхронизации.
Соответсвенно прикидывай, через сколько логических функций 4bit to 1bit выражается твоя логика.
>>333405 Ну вот что, например, лучше: case (a) is when 0 => .. .. when 99 => .. (т.е. мультиплексор на 100 входов) или if a = 1 then .. elsif ... (т.е. 100 триггеров(?)).
Триггер сам по себе реализуется всегда тяжелей, но в логике плиса - хз, там же и правда, лут, алу, вся хуйня.
>>333435 >Триггер сам по себе реализуется всегда тяжелей В ПЛИСе триггер не реализуется, они там уже есть, точно так же как и ПЗУ на которых реализуются комбсхемы. Минимизировать схему, по большому счёту, нужно на ранних этапах проектирования, т.е. перед тем как начать кодить думаешь: "а нужен этот модуль/часть схемы, или без него можно обойтись", более тщательно прорабатываешь архитектуру. А если по мелочи то, в качестве примера, можно привести счётчик с параллельным переносом и сквозным.
Как явно реализовывать выбор ячейки RAM? Везде пишут просто ram_data_out <= memory(to_integer(ram_addr)); Понятно, что для более-менее больших объёмов делать case (to_integer(ram_addr)) is when 0 => ram_data_out <= memory(0); ... (т.е. мультиплексор) заебешься. Разбивать его на несколько маленьких? Или есть еще какая элегантная реализация, типа сдвигового регистра и пр. ?
Парни, привет, я начинающий, сильно не пинайте. Как сделать обмен комп<->плис? Первое что пришло в голову - UART, но блин медленно, передавать/принимать желательно за раз 64 байта, по возможности быстро, хотя бы 8 байт за такт. Какие ещё варианты? Параллельный стык колхозить типа LPT?
>>333610 Даже если скорость поднять, то все равно медленно? Большинство USB-UART переходников работают до 460800 бод без проблем, а некоторые на порядок больше тянут. Из простого можешь еще использовать FT245, FT232 и подобные. >Data transfer rate to 1 Megabyte / second - D2XX Direct Drivers. >Simple interface to MCU / PLD / FPGA logic with simple 4-wire handshake interface.
>>333646 Ну можешь просто байты считать. Либо можно начинать (и/или заканчивать) посылку с уникальной последовательности, если боишься обрывов связи.
>>333646 >пока все 64 байта не придут, вычисления не начинаются Для этих целей ставится буфер, который выдает сигнал валидности. Выдает только тогда, когда в него набъется нужное количество данных.
>>333653 >>333656 Дело в том, что плисина считает быстро, и получится, что большую часть времени будет простаивать, ожидая, пока заполнится буфер. Нужна скорость мегабит 50, по моим прикидкам.
Поздравляю, ты всё-таки пришёл к И-регулятору, всего-то за один год и четыре месяца. Ещё и пожаловавшись, что оно не нагуглилось. Просто пиздец, какие же люди долбоёбы, вообще пиздец.
>>334508 Только In System Sources and Probes Editor для попытки снятия топологии неизвестной платы. Заебатый квест. Большая часть выводов (может 500 из 740) распознана таким методом, исключая выводы высокоскоростных трансиверов.
>>334576 Пока разбирался с SignalTap-ом столько косяков нашёл и расхождений с документацией. Вот думаю, то ли я и дурак и не понимаю, то ли действительно индусы пишут.
1. Есть ли годные книжки по систем верилогу на уровне designer's guide to vhdl? 2. Есть ли годные ресурсы по всему этому кодингу на русском языке (ну кроме мемных ссылок на марсоход и тот плейлист на тытрубе про цифровую схемоту) или дефолтный гуглеж на английском всё еще единственный годный вариант?
Плисаны, как ускорить подсчет контрольной суммы UDP? Не найду полином для расчета. Вообще можно ли считать это через полином? Или только через сумматор?
>>336505 Если не буду считать КС, моя железка будет поддерживать протокол лишь условно. Для ардуиноподелок такой подход конечно подходит, но для коммерческого продукта врядли.
Ну, еще придумал способ упростить. Вбей в заголовок не нулевую константу, а в пейлоад в конец вставь КС, если протокол пзволяет добавить 2 лишних байта
>>336509 >В голову не приходит ничего лучше, кроме как построить конвейер. А так у тебя конвейеров нету? А как данные передаются тогда? Только не говори, что процессором без DMA.
>>336523 не, ты просто не понял. Тебе не важно чем подгонять контрольную сумму к правильному значению, можно полем, а можно данными. Позиция по сути не важна
Хуй знает, в тему ли, но вопрос по Signal Integrity. Если интерфейс согласован до пина, а на кристалле показывает говно - это фейл? А если наборот? Заебали эти DDR4 с их ODT.
>>336543 Это на стадии моделирования разводки. Модели выводов прописаны соответственно в IBIS файлах. Показывает, например, на чтении у ноги FPGA хуйню, а на кристалле - норм. (odt на ноге плиса включен)
>>336622 Короче все оказалось проще. Заголовок MAC-уровня передается за 14 тактов. На предыдущей стадии конвейера просчитываю предварительную КС UDP-payload. Окончательную КС считаю за 5 тактов во время передачи MAC. Можно было не ломать голову.
Однако, задача с ускорением подсчета КС интересная, так и не придумал рещение.
>>336625 >2) Что дает выбор стандарта напряжений логических уровней в пин планере квартуса? Разные стандарты определяют допустимые диапазоны напряжений и токов на выводе, надо читать на эту тему мануал плисины и даташит железки, к которой коннектится плис. (Те же jedec для DDR, например).
>>337388 Для любителей садо-мазо можно предложить 74HC299 - есть и параллельная загрузка и последовательный ввод-вывод. С тебя логика как переключать режимы загрузка-вывод (может и обойдется даже без инвертора на S1) и как отличать актуальные данные или нет. За лучами поноса в >>316943 (OP)
Существует ли какая-нибудь литература по верификации на русском? И не надо мне писать что нужно знать английский. Мне понятно что все равно в итоге придется читать на английском, но хотя бы основы я хочу прочитать на русском.
>>337403 Отвечаю сам себе, нашел одну книгу. >Проектирование и верификация цифровых систем на кристаллах. Verilog & System Verilog >Хаханов В.И., Хаханова И.В., Литвинова Е.И., Гузь О.А. Книга выглядит как-то не очень, слишком похоже на перевод. Скорее всего это перевод и есть, только надерганный из разных источников. В книге рассказывается об использовании assert-ов и псевдослучайном тестировании. Хотелось бы еще почитать про UVM, OVM и прочее.
>>337611 SERDES из мира Ethernet вряд ли подойдет - используется перекодирование 8 бит (исходные данные) в 10 бит (в линии). Может помогут всякие LVDS драйверы для Flat panel типа DS90CF383? Чуть больше 24 бит заталкивает в 5 LVDS линков.
>>337809 Камень - это как на этой фотографии? Ну это больше по спортивной тематике. Перед тем как что-то покупать, тебе нужно было читать что-нибудь по основам цифровых устройств, например Угрюмова.
Пока я расхлёбываю альтеровские патенты на конфигурирующие битстримы, толковые посоны, угарающие по открытобесплатному ПО, пилят инструментарий для Lattice iCE40 с возможностью визуализации до RTL. https://twitter.com/ico_TC/status/823883792754634752
>>338571 Когда-то спрашивал, еще раз спрошу. Есть слитая конфигурация с мелкой CPLD от Lattice. Как/чем превратить конфигурацию во внутреннюю схему межсоединений CPLD чтобы попытаться понять что там реализовано внутри?
Сап, радач, помнится тут кто-то частотомер делал, как успехи? нужен частотомер от 50МГц до 10ГГц, который может писать на флеху частоту, время, напряжение, ток, температуру. Есть что нибудь посмотреть на эту тему?
>>340042 Но зачем тебе для этого ПЛИС? Простой счетчик на ПЛИС даже не будет работать на такой частоте. Разве что только приспособить serdes. Но на такую частоту serdes в циклонах и спартанах вроде бы не дотягивает, придется все равно ставить внешний предделитель. Более того, serdes вообще зачастую отсутствует в дешевых сериях. Для записи на флешку придется использовать nios/microblaze (особенно если ты хочешь использовать файловую систему) или снаружи приделывать микроконтроллер, при этом сам сами счетчики будут занимать мизер относительно nios/microblaze.
Поэтому нет никаких причин делать такое на ПЛИС. Тому анону вроде как нужно было очень много каналов, а частоты были относительно низкими, поэтому ему был смысл использовать ПЛИС.
>>340094 >годные счётчики, прескалер Не знаю, не делал такого. В качестве предделителя можно взять микросхему синтезатора частоты. Пользуйся параметрическим поиском на диджикее.
Я так и не понял что ты в итоге хочешь получить. Если тебя устраивает одна секунда длительности измерения и ты собираешься использовать в качестве опорного генератора обычный кварцевый не термокомпенсированный, то можно поставить предделитель на 1000. Тогда в точности почти ничего не потеряешь даже на твоей нижней границе частоты и снизишь максимальную частоту до 10 МГц. Разные варианты есть, в зависимости от желаемого результата.
Верилогобояре в хате есть? Поясните за task и function. Для чего нужны? В каких случаях их применение оправданно? В чём их преимущество перед обыкновенными модулями?
>>340251 Функции и таски можно сравнить с макросами в Си. В функции можно запихивать только комбинационную логику. В таски можно уже вставлять последовательностную логику. По сравнению с модулями, функции можно пихать практически куда угодно - в assign, initial, объявления. Например, пользуясь функцией логарифма удобно делать модули с параметризуемой разрядностью. Таски в принципе можно использовать для синтеза, но я их использую только для симуляции, т.к. часто сложно представить во что синтезируется код с ними.
Если модули можно образно представить как готовую печатную плату с детальками, то таски - нельзя. Например, вставили в таск ожидание фронта сигнала а потом вызвали несколько таких тасков друг за другом, во что оно синтезируется (если сможет конечно)? Это явно не всегда можно представить в виде последовательного соединения модулей.
Сап, анон, есть один соневский сенсор IMX274 и задача читать с него данные 4K@60Hz@10bit. Данные он выдаёт по линиям SubLVDS, Vcm=0.9V, Vdiff>100mV, Rdiff=100 Ом. Надо принять их на кинтексе7. Кинтекс7 не умеет в SubLVDS вообще, а HR-банки (которые на КС705 выведены на внешний разъём FMC LPC) не умеют LVDS при питании 1.8В. А у нас оно 1.8, потому что от 2.5 погорят все остальные порты на сенсоре (SPI, Hsync, Vsync).
Похую, назначаем вместо SubLVDS/LVDS приёмники DIFF_HSTL_I_18, назначаем вместо дифференциального single-ended терминаторы потому что DIFF_TERM есть только на LVDS эквивалент 50 Ом на 0.9В с p-сигнала и n-сигнала. То, что надо, казалось бы? Но вот хуй, данные принимаются неправильно.
Для сравнения берём отладку KCU105, она умеет в DIFF_HSTL_I_18 и в SubLVDS. Проверяем SubLVDS с DIFF_TERM — работает. Проверяем DIFF_HSTL_18_I, терминация — single-ended эквивалент 48 Ом на 0.9В для p-сигнала и для n-сигнала — тоже, сука, работает.
Почему так? Почему данные сенсора принимаются на Kintex Ultrascale KCU105 по стандарту DIFF_HSTL_18_I без проблем, а на Kintex 7 KC705 по тому же самому стандарту DIFF_HSTL_18_I — криво и косо? Что я не учёл?
>>340269 >эквивалент 50 Ом на 0.9В >эквивалент 48 Ом на 0.9В для Например. Пины дифференциальные, надеюсь, к одной паре заводил? А то у меня был косяк, когда дифф. пару соединил с N и P, но только N была с 12L, а P с 13L. Ну и может второй класс hstl пойдет?
>>340262 >По сравнению с модулями, функции можно пихать практически куда угодно - в assign, initial, объявления. Ну так почему нельзя создать модуль нужной комбинационной схемы и вставить его себе в код, ведь не обязательно комбсхемы подключать через assign? Есть ли такой случай когда функцию нельзя заменить на модуль? Если я правильно понял функции и задачи удобны по большей части в моделировании, в синтезе и без них вполне можно обойтись.
>>340302 >Ну так почему нельзя создать модуль нужной комбинационной схемы и вставить его себе в код, ведь не обязательно комбсхемы подключать через assign? Синтаксический сахарок. Для модуля надо писать объявление самого модуля, цепей, подключать цепи к портам, причём отдельно от описания прочей логики. Функцию где понадобилось, там и вставил.
>Есть ли такой случай когда функцию нельзя заменить на модуль? Например, ты пишешь модуль с параметризуемой шириной шины, в параметре указываешь максимальное значение на шине, а ширину шины вычисляешь при помощи функции, чтобы это значение туда влезало.
>>340302 >Ну так почему нельзя создать модуль нужной комбинационной схемы и вставить его себе в код, ведь не обязательно комбсхемы подключать через assign? Это ты про что? При чем тут assign? Запись с функцией обычно будет короче. >Есть ли такой случай когда функцию нельзя заменить на модуль? С функциями можно проводить вычисления при инициализации и объявлении. Вычислять и задавать требуемую разрядность, хотя бы. Вот тебе вполне синтезируемый пример использования функции $clog2 https://github.com/minad/vle/blob/master/shifter.v >Если я правильно понял функции и задачи удобны по большей части в моделировании, в синтезе и без них вполне можно обойтись. Скорее только таски (по моему мнению). Функции для синтеза наоборот вполне удобны.
Вот еще тебе пример использования функции для инициализации памяти >>326151 В более сложных случаях это может быть не чтение из файла, а вычисление на ходу.
>>340302 Вот еще вспомнил. Функции могут возвращать тип real, а в портах модулей такое недопустимо (хотя может в SV разрешили). Хотя это ограничение можно обойти, пусть и костыльно, через $realtobits и $bitstoreal.
>>340305 >в параметре указываешь максимальное значение на шине В параметре я указываю любое значение при создании экземпляра модуля. Зачем в модуле ограничиваться максимальным числом?
>>340306 >С функциями можно проводить вычисления при инициализации и объявлении. Вычислять и задавать требуемую разрядность, хотя бы. Так это системная функция.
>Вот еще тебе пример использования функции для инициализации памяти Это тоже системная. А какой прок с пользовательских? Вот только разве что быстрее и короче.
>>340321 >Так это системная функция. Появилась только в verilog 2005. И мне до сих пор приходится для флексов использовать свою функцию логарифма.
>А какой прок с пользовательских? Вот только разве что быстрее и короче. Из верилога можно выкинуть очень много, сохранив возможность делать на нем что угодно. Например, вполне можно обойтись без арифметических операций.
>Зачем в модуле ограничиваться максимальным числом? Ты вообще о чем? Вот взять например UART приемопередатчик. Параметрами задается тактовая частота и скорость. В модуле считаются максимальные значения счетчиков для заданной скорости. Из этих максимальных значений считаются требуемые разрядности счетчиков.
>>340269 Нашёл косяк. Оказывается, многоканальный десериалайзер для ультраскейла пакует биты на шине по порядку каналов, а для седьмого кинтекса — по порядку битов (то есть сперва нулевые биты со всех каналов, потом первые, етц). CYKA BLYAT.
Помогите с ебучей вивадой. Суть в следующем. Есть модуль А, который нужно промоделировать. В модуле присутствует инстанс модуля Б, который довольно тяжеловесный но уже отлажен. Не хочу моделировать эти два модуля совместно ибо пиздец как долго. Решил запилить конструкции типа ifdef SIMULATION ... ну вы понели. Можно ли как-то сделать дефайн глобальным? В идеале, чтобы в самом тестбенче писал Define SIMULATION 1 и модуль А симулировался в облегченном варианте?
>>340557 Так Б у тебя на работу А-то влияет или нет? Если влияет, как ты без него моделировать собрался? Если не влияет, нахуй он там у тебя вообще?
А вообще, если у тебя есть какие-то независимые от Б части А, на твоём месте я бы их вынес в отдельный модуль и написал для него тестбенч. Прежде чем придумывать костыль, может, лучше попробовать сделать стандартными методами?
>>340572 А, ну и положи на них тогда анальный хуй. Ещё крутиться из-за них зачем-то при таком отношении, подскакивать кабанчиком. Моделируй как есть, пей чай.
>>340574 Я здесь как краб. Буду пить чай - предъявят за анальные сроки. Это сущий ад быть плисоводом, когда твой тимлид программер и вообще толком не понимает в железе, но старается компенсировать это за счет программерских штучек.
Ненавижу блять все эти программерские штуки, системы контроля версий, дженкинсы-хуенкинсы пропади они пропадом.
>>340581 Извини, братиш, но нет к тебе что-то никакого сочувствия. Потому что допуская к себе отношение как к говну, ты формируешь у работодателя представление, что к плисоразработчикам допустимо относиться как к говну. И нет, я не системы контроля версий здесь имею в виду. Не делай так.
>>340584 Но к плисоводам в рашке и так относятся как к говну. Вакансий мало, люди цепляются за работу. Хотя чего я оправдываюсь, омежью сущность не скрыть.
>>340585 Вакансий мало потому что сфера уж больно специфичная, зато там где они нужны их ценят в силу малого количества, а так средний плисовод имеет зарплатку больше чем средний прохер. мимоплисовод
>>340589 Ну для ДС может и пиздец, в ДС, я думаю, можно легко 100 делать. А у меня работёнка не бей лежачего, особо не напрягают, правда большую часть времени какой-то левой хернёй занят, но не суть. А так знал бы ЦОС и прочую математику, конечно бы метнулся туда где побольше.
>>340591 >Вчерашний студент попав в Сбертех джава-макакой будет получать от 120. И это без знаний ЦОС и математики. Должно быть там анальные условия за такую зп, ибо закон сохранения энергии должен работать.
>>340599 Наверняка и график посвободнее, и плейстейшон стоит в комнате для отдыха. В таких вещах работает закон спроса и предложения. Писать энтерпрайз для банков спрос на специалистов большой, а делать попильные аналоговнеты для военкии — лишь постольку-поскольку. Бюджет один хуй выделят, ну и нафиг им с каким-то мимованькой делиться тогда.
>>340603 >плейстейшон И зачем? Вот у меня на работке есть паяльник и нехилый цифровой асцилоп и мне никто не запрещает паять себе ёбамахарайки, а это многого стоит.
>>324069 Разумеется без поверки и не откалиброван. С памятью похуже, скорость обновления низкая. По удобству использования и сравнивать нечего. Тем не менее, что-то с такой полосой можно найти относительно дешево, пусть оно и не откалибровано будет. Поэтому такой осциллограф - преимущество так себе. Другое дело спектроанализаторы, векторные анализаторы, вот такое действительно уже слишком дорого будет.
Бамп. Буквально неделю назад на алике появились вот такие отладочные платы Kintex 7 XC7K420T https://s.click.aliexpress.com/e/LBqdJPk Первый вопрос - а хули так дешего, при ценнике 2 к далларов только за оригинальный камень? Второй вопрос - можно ли использовать эту плату без подключения в pci слот ПК? Третий вопрос - можно ли использовать pci платы просто как IO?
>>340745 >Первый вопрос - а хули так дешего, при ценнике 2 к далларов только за оригинальный камень? Левые или пизженные микрухи. Врятли прошли полную сертификацию Второй вопрос - можно ли использовать эту плату без подключения в pci слот ПК? Можно, только подай питание Третий вопрос - можно ли использовать pci платы просто как IO? Можно, но только как высокоскоростные интерфейсы... как ГПИО -нет
>>340745 >хули так дешего Наебалово, ошибка, или наебалово, замаскированное под ошибку (чтобы ссылку на магазин растаскали по интернету, при реальной попытке заказать ответ будет "ой, сорян, косякнули").
>>340764 да он написал что это первая версия, вторая будет с ДДР и дороже. Потестить забесплатно хочет. Не знаю, я встречался со сверх-дорогими ПЛИС в поднебестной, это реальность!
>>340764 > чтобы ссылку на магазин растаскали по интернету, при реальной попытке заказать ответ будет "ой, сорян, косякнули" Ну хуй знает. Я в этом магазине летом покупал (правда, обычные платы с четвёртым циклоном и SDRAM), всё нормально было.
Мимикрокодил
P.S. Судя по сопровождающему лот чинглишу, похоже на то, что это какие-то китайские кустари-самородки не то демпингуют, не то сливают остатки после большого проекта («I will design the FPGA cluster dedicated to computing . Single board 12 FPGA XC 7K420T»).
> Сколько ddr? Не DDR, обычная SDRAM. В данном случае старая (хуй его знает, где они эту микросхему десятилетней давности откопали) W98256G6EH-75, на 256 мегабит.