С производством электроники в России проблем нет никаких (ну кроме себестоимости, которая получается очень высокой), в стране есть десятки крупных серийных и сотни опытных производств. Проблема у нас с микрокэлектроникой, и решения этой проблеме не предвидится в ближайшие 10-15 лет.
И тоже построен на деньги проклятого и ненавистного у нас Сороса. Этот негодяй умудрился совершенно безвозмездно развивать российский интернет в течении нескольких десятков лет.
К слову, канал емкостью 64 кбит/сек через спутники Совам в 1997-99 году обходился в 4000 USD в месяц. И в регионах это было великое достижений в то время.
Большая просьба: сделайте так, чтобы небыло проблем запуска вашего приложения в Linuxulator-е под FreeBSD. Если требуется протестировать - обращайтесь.
Бывает так, что я дома мою посуду быстрее чем супруга складывает её в посудомойку. Ведь перед тем как положить тарелки в посудомойку их тоже надо очистить от остатков пищи, а это занимает какое-то время.
А еще эти посудомойки частенько забиваются и устраивают потоп. Их, как и стиральные машины, нельзя оставлять в действии уходя на работу! Меня из-за подобных проблем топили три раза и я сам топил соседа снизу один раз. :)
Любопытства ради, расскажите как Вы осуществляете монтаж таких боксов, как осуществяляете поиск неисправностей и, самое любопытное, как Вы идентифицируете отдельные элементы и провода ? Тут вот понимаешь с тремя очками найти нужный провод проблема, даже если все провода отмаркированы. :-)
Компании производителю контроллеров Wiren Board следовало бы взять Вас на оклад в качестве разработчика или проектировщка.
Писать на HDL-языках служную логику не ужаснее, чем писать сложные алгоритмы на ЯП для процессоров/микроконтроллеров.
Смотря на каком HDL писать. Если писать на Verilog-е (SystemVerilog) то, да, это просто ужас и отрыв башки. Писать высокоуровневую логику и сложные протоколы на SpinalHDL - это кайф.
Если говорить о тестировании интерконнекта внутри ПЛИС, то достаточно проверить только ортогональные соединения и сделать это не сложно. А вот с вычислительными ядрами все гораздо сложнее - чтобы их проверить нужно оттестировать бесконечно большое число внутренних состояний машины, что сделать невозможно даже теоритически, поэтому проверияют только ограниченный набор пограничных состояний (coner cases). Помимо этого, в МК, как правило, имеется богатый набор периферии (часто - покупной) которую тоже требуется тестировать, и сделать это без специализированной оснастки невозможно. В общем, с точки зрения производства и тестировния классические ПЛИС существенно проще! Но современные ПЛИС это уже нифига не ПЛИС, это "гибридные СБИС" с кучей очень сложных аппаратных блоков, поэтому они и стоят горы денег - с этой темы по-цепочке кормится куча производителей IP-блоков.
Классические ПЛИС до сих пор производятся и стоят относительно недорого, но всё же несколько дороже чем МК и связано это прежде всего с объемами производства - у МК серийность на несколько порядков выше. Если производить ПЛИС с такой же серийностью как МК, то стоимость микросхем ПЛИС будет ниже чем у МК, так как в таких ПЛИС нет покупных функциональных блоков и за них не нужно платить отчисления.
К сожалению, индустрия плотно сидит на микроконтроллерах и не желает двигаться в этом направлении из-за иннерционности мышления как разработчиков, так и производителей готовых изделий. Я в своих изделиях в последние годы стараюсь использовать ПЛИС с синтезируемой СнК. Такое решение несколько дороже чем на обычном МК, но существенно более гибкое, оно дает мне больше свободы действий и возможностей по модернизации готового изделия "в поле". У меня есть своя типовая плата с ПЛИС в форм-факторе RPi на базе которой я могу решить любую задачу заказчика в рамках возможностей синтезируемых в ней СнК. Все мои наработки по данной теме доступны для скачивания и повторения.
Я уже опубликовал несколько статей на эту тему, может быть кто-то еще не читал:
Сейчас я работаю над имплементацией USB 1.0 и поддержки HID (клава, мышь, геймапады) в моей синтезируемой СнК. Кое-какие наброски уже можно попробовать. Скорее всего по результатам этой работы будет написана еще одна статья в этом же ключе (если бог даст сил и времени).
На сколько я понимаю, все лэйны работают параллельно и вычитывают свои регистры одновременно. Но не из памяти, а из кэша. Соответственно кэш должен быть снабжен соответствующим числом портов.
Спасибо за интересную статью! Жду продолжения по разбору реализации VLSU лэйнов в Ara.
В Вашем примере (функция bar) Вы показываете как выполнить одну итерацию над vl элементами вектора, но не показываете как происходит обработка оставшейся части вектора и в том числе его хвоста. В этом нюансе, на мой взгляд, кроется одна из самых интересных отличительных особенностей RVV - для обработки хвоста вектора не требуется отдельное условие, так как в каждой итерации на вход инструкции vsetvl может передаваться остаток необработанной длины вектора. Т.е. цикл полной обработки мог бы выглядеть как-то так:
Откуда семь лет ? В Российских вузах везде бакалаврат - 4 года в лучшем случае. Да и последний (4-й) год обучать студентов чему-то бесполезно, у них одна цель - сдать госы и написать выпускную. А первые два - физика, матан и куча бесполезной гуманитарщины. Получается, то учить их профессии можно только на третьем курсе. Не вижу тут принципиального отличия от "вкатывающихся" через он-лайн курсы.
Вот я сейчас работаю со студентами (3-й курс, практика). Они кроме питона ничего не знают и совершенно не понимают чего там происходит под капотом. А пришли они ко мне научиться программировать микроконтроллеры для реальных производственных задач (ну или чтобы курсовую работу сдать). Приходится в срочном порядке устраивать им курс глубокого погружения до самых низов. И ничего, вкатываются понемногу. :)
Я бы сказал по-другому, программист решает задачи, свои или чужие – неважно, с помощью программирования. Ибо кому нужен код, ради кода? Только, ради решения поставленной задачи – это же очевидно!
Не поверите, но существует такое понятие как "recreational programming".
PS: Код ради кода нужен Гитхабу для обучения ChatGPT.
Java это шлак! Начинать нужно именно с ассемблера и со знакомства с устройством машины (процессор, память, I/O, кэш, MMU), постепенно переходя к Си и вникая в устройство современных операционных систем. А вот когда настанет понимание того, что Си недостаточно (хотя как его может быть недостаточно?), вот тогда можно пробовать различные языки со встроенным менеджментом памяти и прочие REPL. Перед тем как переходить к Java, обязательно нужно попробовать "Си с классами". C++ в его современном виде трогать не стоит - эта куча плохо пахнет.
Ну и еще. Перед тем как начать обучаться программированию, сначала следует обучиться работе в коммандной строке, развить навык работы в терминальных текстовых редакторах, научиться использовать как основные тулы из GCCLLVM, так и сопутствующие - ssh, bash, grep, sed, awk. Наверное это можно делать параллельно с написанием первых программ.
Я тоже немного удивился этому утверждению, вспоминая что еще в вузе в середине 90-х у нас были лабы по физике с использованием советстких CO2 лазерных трубок. Но в статье говорится про лазеры "мегаватного класса", может быть в этом проблема ?
Тогда прошу прокомментировать вот эти слова ученого из приведенной пользователем @lazy_valссылки на статью:
2. Замена оловянного лазерно-плазменного источника на ксеноновый на порядки уменьшает загрязнения оптических элементов продуктами разлета материала источника. Ведь ксенон — это инертный газ, и он не может загрязнять оптику. В результате кратно возрастет время жизни дорогостоящих коллектора и масок. Все это снижает затраты как на изготовление вакуумных элементов и систем, а также литографа в целом, так и на стоимость эксплуатации.
Кроме того, вместо крупногабаритного газоразрядного СО2-лазера в предлагаемом ЛПИ используется надежный малогабаритный и энергосберегающий твердотельный лазер с диодной накачкой и дисковым усилителем. Важно отметить, что в России в настоящее время нет даже экспериментального прототипа импульсного CО2-лазера с близкими к ASML параметрами, в то время как имеются передовые разработки в области мощных твердотельных гибридных лазеров.
На сколько я понимаю, в предложенной схеме диодным лазером облучают (накачивают) газ ксенон который в свою очередь испускает фотоны на длине волны 11,2 нм. Это всё вместо используемой сейчас у ASML схемы "CO2 лазер облучает капли олова которые излучают на 13,5 нм".
Мой первоначальный вопрос звучит так: почему ASML не применяет такой лазер и почему не применяют многослойные Рутений-Бериллиевые зеркала которые в теории более эффективны. Говорят о такой схеме уже давно, но ASML на неё почему-то переходить не спешит. Подозреваю, что тут есть какие-то еще сложно разрешимые проблемы о которых наши ученые мужи умалчивают.
В статье по ссылке выше упоминается диодный лазер и речь ведется про длину волны 11.2 нм. Подается это в том ключе, что многослойные Ru/Be зеркала на данной длине волны имеют больший коэф отражения, а установка источника существенно более компактная и потребляет меньше электроэнергии. Если это так и исследования в этой области ведутся давно, то почему "дураки" из ASML всё еще не перешли на 11.2 нм, а вместо этого используют огромную установку оловянно-плазменного лазера с длиной волны 13.5 нм и менее эффективными зеркалами ? Хочу понять в чем подвох.
С производством электроники в России проблем нет никаких (ну кроме себестоимости, которая получается очень высокой), в стране есть десятки крупных серийных и сотни опытных производств. Проблема у нас с микрокэлектроникой, и решения этой проблеме не предвидится в ближайшие 10-15 лет.
И тоже построен на деньги проклятого и ненавистного у нас Сороса. Этот негодяй умудрился совершенно безвозмездно развивать российский интернет в течении нескольких десятков лет.
К слову, канал емкостью 64 кбит/сек через спутники Совам в 1997-99 году обходился в 4000 USD в месяц. И в регионах это было великое достижений в то время.
Я тоже поработал в местном отделении РОЛ и имел кое-какое отношение к Соваму.
Про RUNNet будет ?
Большая просьба: сделайте так, чтобы небыло проблем запуска вашего приложения в Linuxulator-е под FreeBSD. Если требуется протестировать - обращайтесь.
Золотые слова!
Бывает так, что я дома мою посуду быстрее чем супруга складывает её в посудомойку. Ведь перед тем как положить тарелки в посудомойку их тоже надо очистить от остатков пищи, а это занимает какое-то время.
А еще эти посудомойки частенько забиваются и устраивают потоп. Их, как и стиральные машины, нельзя оставлять в действии уходя на работу! Меня из-за подобных проблем топили три раза и я сам топил соседа снизу один раз. :)
Вот! Я всегда знал, что командная строка и клавиатура это единственно правильный вид интерфейса пользователя. :)
Просто снимаю шляпу пред такими скилами!
Любопытства ради, расскажите как Вы осуществляете монтаж таких боксов, как осуществяляете поиск неисправностей и, самое любопытное, как Вы идентифицируете отдельные элементы и провода ? Тут вот понимаешь с тремя очками найти нужный провод проблема, даже если все провода отмаркированы. :-)
Компании производителю контроллеров Wiren Board следовало бы взять Вас на оклад в качестве разработчика или проектировщка.
Смотря на каком HDL писать. Если писать на Verilog-е (SystemVerilog) то, да, это просто ужас и отрыв башки. Писать высокоуровневую логику и сложные протоколы на SpinalHDL - это кайф.
Если говорить о тестировании интерконнекта внутри ПЛИС, то достаточно проверить только ортогональные соединения и сделать это не сложно. А вот с вычислительными ядрами все гораздо сложнее - чтобы их проверить нужно оттестировать бесконечно большое число внутренних состояний машины, что сделать невозможно даже теоритически, поэтому проверияют только ограниченный набор пограничных состояний (coner cases). Помимо этого, в МК, как правило, имеется богатый набор периферии (часто - покупной) которую тоже требуется тестировать, и сделать это без специализированной оснастки невозможно. В общем, с точки зрения производства и тестировния классические ПЛИС существенно проще! Но современные ПЛИС это уже нифига не ПЛИС, это "гибридные СБИС" с кучей очень сложных аппаратных блоков, поэтому они и стоят горы денег - с этой темы по-цепочке кормится куча производителей IP-блоков.
Классические ПЛИС до сих пор производятся и стоят относительно недорого, но всё же несколько дороже чем МК и связано это прежде всего с объемами производства - у МК серийность на несколько порядков выше. Если производить ПЛИС с такой же серийностью как МК, то стоимость микросхем ПЛИС будет ниже чем у МК, так как в таких ПЛИС нет покупных функциональных блоков и за них не нужно платить отчисления.
К сожалению, индустрия плотно сидит на микроконтроллерах и не желает двигаться в этом направлении из-за иннерционности мышления как разработчиков, так и производителей готовых изделий. Я в своих изделиях в последние годы стараюсь использовать ПЛИС с синтезируемой СнК. Такое решение несколько дороже чем на обычном МК, но существенно более гибкое, оно дает мне больше свободы действий и возможностей по модернизации готового изделия "в поле". У меня есть своя типовая плата с ПЛИС в форм-факторе RPi на базе которой я могу решить любую задачу заказчика в рамках возможностей синтезируемых в ней СнК. Все мои наработки по данной теме доступны для скачивания и повторения.
Я уже опубликовал несколько статей на эту тему, может быть кто-то еще не читал:
Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)
Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2)
Разработка цифровой аппаратуры нетрадиционным методом: CGA видеоадаптер на SpinalHDL
Сейчас я работаю над имплементацией USB 1.0 и поддержки HID (клава, мышь, геймапады) в моей синтезируемой СнК. Кое-какие наброски уже можно попробовать. Скорее всего по результатам этой работы будет написана еще одна статья в этом же ключе (если бог даст сил и времени).
На сколько я понимаю, все лэйны работают параллельно и вычитывают свои регистры одновременно. Но не из памяти, а из кэша. Соответственно кэш должен быть снабжен соответствующим числом портов.
Можно, но это будет выглядеть как инородное тело. У автора VexRiscv есть что-то своё, но я пока еще погружался в эту тему.
Спасибо за интересную статью! Жду продолжения по разбору реализации VLSU лэйнов в Ara.
В Вашем примере (функция bar) Вы показываете как выполнить одну итерацию над vl элементами вектора, но не показываете как происходит обработка оставшейся части вектора и в том числе его хвоста. В этом нюансе, на мой взгляд, кроется одна из самых интересных отличительных особенностей RVV - для обработки хвоста вектора не требуется отдельное условие, так как в каждой итерации на вход инструкции vsetvl может передаваться остаток необработанной длины вектора. Т.е. цикл полной обработки мог бы выглядеть как-то так:
Из отладок с MIK32 у меня есть только плата и схема NUKE MIK32 V0.3.
Откуда семь лет ? В Российских вузах везде бакалаврат - 4 года в лучшем случае. Да и последний (4-й) год обучать студентов чему-то бесполезно, у них одна цель - сдать госы и написать выпускную. А первые два - физика, матан и куча бесполезной гуманитарщины. Получается, то учить их профессии можно только на третьем курсе. Не вижу тут принципиального отличия от "вкатывающихся" через он-лайн курсы.
Почему бы и нет ?
Вот я сейчас работаю со студентами (3-й курс, практика). Они кроме питона ничего не знают и совершенно не понимают чего там происходит под капотом. А пришли они ко мне научиться программировать микроконтроллеры для реальных производственных задач (ну или чтобы курсовую работу сдать). Приходится в срочном порядке устраивать им курс глубокого погружения до самых низов. И ничего, вкатываются понемногу. :)
Не поверите, но существует такое понятие как "recreational programming".
PS: Код ради кода нужен Гитхабу для обучения ChatGPT.
Java это шлак! Начинать нужно именно с ассемблера и со знакомства с устройством машины (процессор, память, I/O, кэш, MMU), постепенно переходя к Си и вникая в устройство современных операционных систем. А вот когда настанет понимание того, что Си недостаточно (хотя как его может быть недостаточно?), вот тогда можно пробовать различные языки со встроенным менеджментом памяти и прочие REPL. Перед тем как переходить к Java, обязательно нужно попробовать "Си с классами". C++ в его современном виде трогать не стоит - эта куча плохо пахнет.
Ну и еще. Перед тем как начать обучаться программированию, сначала следует обучиться работе в коммандной строке, развить навык работы в терминальных текстовых редакторах, научиться использовать как основные тулы из
GCCLLVM, так и сопутствующие - ssh, bash, grep, sed, awk. Наверное это можно делать параллельно с написанием первых программ.Я тоже немного удивился этому утверждению, вспоминая что еще в вузе в середине 90-х у нас были лабы по физике с использованием советстких CO2 лазерных трубок. Но в статье говорится про лазеры "мегаватного класса", может быть в этом проблема ?
Тогда прошу прокомментировать вот эти слова ученого из приведенной пользователем @lazy_valссылки на статью:
На сколько я понимаю, в предложенной схеме диодным лазером облучают (накачивают) газ ксенон который в свою очередь испускает фотоны на длине волны 11,2 нм. Это всё вместо используемой сейчас у ASML схемы "CO2 лазер облучает капли олова которые излучают на 13,5 нм".
Мой первоначальный вопрос звучит так: почему ASML не применяет такой лазер и почему не применяют многослойные Рутений-Бериллиевые зеркала которые в теории более эффективны. Говорят о такой схеме уже давно, но ASML на неё почему-то переходить не спешит. Подозреваю, что тут есть какие-то еще сложно разрешимые проблемы о которых наши ученые мужи умалчивают.
В статье по ссылке выше упоминается диодный лазер и речь ведется про длину волны 11.2 нм. Подается это в том ключе, что многослойные Ru/Be зеркала на данной длине волны имеют больший коэф отражения, а установка источника существенно более компактная и потребляет меньше электроэнергии. Если это так и исследования в этой области ведутся давно, то почему "дураки" из ASML всё еще не перешли на 11.2 нм, а вместо этого используют огромную установку оловянно-плазменного лазера с длиной волны 13.5 нм и менее эффективными зеркалами ? Хочу понять в чем подвох.