Как стать автором
Обновить
29
0
Дмитрий @DmitryZlobec

Разработчик программного обеспечения.

Отправить сообщение

VGA есть во всех букварях для начинающих, он простой, но удобен тем, что результат видно сразу, плюс движение луча накладывает временные ограничения вынуждающие думать, а режим 1024х768 скорее всего сожрет всю BRAM ПЛИС если делать frame buffer в лоб, и пиксельная частота в 50МГц уже точно заставит считать такты. (Хотя у TN9K VGA есть, и занимают ровно половину всех ног);

Чтобы подключить UART нужно купить что-то типа HW-044. Семисегментники нужны в варианте с общим анодом, чтобы в динамике работать, это первое упражнение, а если вы их просто установите, то 4 семисегментника оставшуюся половину ног ПЛИС сожрут, а по хорошему их(индикаторов) надо 8, и надо кнопку чтобы ими управлять, нужно кнопку чтобы управлять тактовой, вообще кнопок штуки 4 надо. Пищалки нет, не говоря уже об ЦАП, Говорить о том чтобы вытащить шину - это вообще не реально. Все это выйдет в задачу создания отладки а не изучения Verilog. TN9K - это не учебная плата, это заготовка для RISC процессора.

В остальном Вы путаете обучение с проблемами конкретно Вашей фирмы и немного хоббизмом. А OpenLane действительно пока что никто не отменял, но эта штука следующего шага.

На отладке нарабатывается навык работы с периферией. Нужны HEX индикатор, UART, VGA, PS/2 (понятно, что дальше идет SPI и прочее но это когда уже опыт есть). Соответственно с ними и делаются все упражнения вначале по лабнику Юрия, затем по тому же Pong Chu. (Либо вариант с Xilinx, если идете по Фрэнку Бруно). А Ваш вариант он или для баловства, уровня ардуино чтобы светодиодом поморгать, или для специалистов которые понимают, что хотят, где для серьезного проекта уже надо печатную плату городить.

Quartus - бесплатный, и в России прекрасно скачивается, даже на Quest'у можно лицензии получить. Для обучения все прекрасно подходит. ASIC - это не FPGA учится надо у лучших (не важно как они себя ведут) и на том, что дает эффективный результат. И когда Юрий или Михаил скажут, тут пришел Gowin, спрашивает чем помочь, тогда можно будет что-то сказать. А сейчаc  Gowin такой же как Intel или AMD, ни хуже ни лучше.

Вы лукавите, обвязка этой отладки для примеров того же Pong Chu выйдет в те же 50-70 баксов, что соответствует отладкам на Cyclone IV на том же ресурсе.

Для проектирования ASIC ни отладка ни Yosys не нужна (да и ни Quartus), достаточно Icarus Verilog, другое дело что процессор не вакууме живет, и тут отладка нужна, но только не в реализации DIP64, это пустая трата времени и насилие над преподавателем.

И если дальше говорить про бесплатное - то это скорее Verilator, но это не уровень школьников.

До запуска main() должен отрабатывать startup код. Где же найти файл для startup кода?

Это вроде называется crt0. https://ru.wikipedia.org/wiki/Crt0

Вообще можно использовать Clion, у них сейчас нормальная поддержка Makefile. Другое дело что он платный.(

Вы путаете причину со следствием, вначале спортсмен показывает результат, а затем ему платят деньги. За футбол не скажу, не мое, но тот же Шон Уайт в 6 лет катаясь на скейте вряд ли думал о том, что станет миллионером. Хотя судя по зарплатам которые вы привели, мой пример не очень удачный....)))

Это MAXII c 240 LUT, это самое доступное что есть c максимально свежим квартусом. Марсоход скорее для DIY(я бы даже сказал, он идеален для DIY): не смотря на более старый чип и квартус, сделан с умом, в отличие от китайских плат, один только 32-х разрядный SDRAM чего стоит.

wire enable = (cnt == '0);

или

assign enable = cnt[22];

Как лучше и в чем разница?

670 миллионов рублей - это где-то на пять километров дороги.... 10 млн долларов за установку 13нм? Где такие цены, можно я две возьму?

А если в двоичной или шестнадцатеричной системе? Готов поспорить - 90% кандидатов не справятся задачей разделить столбиком два двоичных числа..

Результат на DE0-CV, RV32IC: 71 Iterations/sec. Это 1.42 CM/Mhz . Вполне нормальный результат для такого процессора, с учетом того, что умножение сделано на сжатых инструкциях, кроме одной команды. Хотя довольно глупо сравнивать RV32IC и RV32IM - это разные процессоры.

Исходники: https://github.com/DmitryZlobec/yrv-plus/tree/main/Plus/programs/coremark_new_math_gcc_compressed

А что им больше делать , если оба знают алгоритмы, но беда в том что оба программировать не умеют. Решение на дженериках и стримах было бы похоже на правду, а так это какой-то шарообразный конь в вакууме.

"Трое": мы физики,a отцы находятся в состоянии перехода, их состояние не определено.

Все правильно, у нас в радиокружке вначале учились паять кубик с гранью 40 мм, так чтобы им потом в футбол можно было играть, места пайки не должны были рваться. Паяльник обычный 220В - 40Вт, ну и через разделительный трансформатор было все запитано. Аспирин использовать было нельзя.

А плату запаивать использовали флюс из канифоли на спирту, один только запах чего стоил, Хеннесси рядом не стоял... ))). Припой ПОС60 тонкий, ноги мажешь и потом паяльником на 25Вт с жалом "на скос" запаиваешь быстро и спиртом все моешь.

Вроде Волков еще умел полные директории удалять, а третий нортон только пустые.

Как мне кажется, для многих IT специальностей колледж - хорошая альтернатива высшему образованию. 

Есть некоторые специальности которым хорошо готовят именно в колледже, например бухгалтер (по технологиям питания тоже колледжи хорошо готовят). И колледж - это возможность не сидеть в школе еще два года, а получить профессию и потом как сказано выше - уйти дальше учиться в ВУЗ. На мой взгляд колледж - это скорее замена гимназии, некоторая возможность поправить среднее образование...

средняя ЗП сотрудника - 3500 евро/мес., 20 евро/час;
средняя ЗП руководителя - 4500 евро/мес, 25 евро/час;

При постановке задачи априори ЗП начальника на килоевро больше зарплаты сотрудника. Это все, что вам следует знать о процессах в ИТ.

А как по вашему берут? Хирурги с которыми я общался, недавние операции, особенно экстренные помнят по секундам.

Для высокоуровневого кода я бы пока еще предпочел классический подход C#\Java, но при этом кидать исключения как можно реже, а перехватывать еще реже. Возможно на самом высоком уровне, чтобы сказать пользователю "что-то пошло не так, повторите операцию" и записать в лог. По сути для этого даже специально писать ничего не надо. Все нужно уже встроено во фреймворки, главное не испортить.

Это все-таки ближе к Fail safe. В случае с Fail fast будет не так.

Зависит от языка: на ассемблере сплошь и рядом. Например jump label в самом начале памяти ставится для перехода на entry point, так как перед ней как правило идет таблица векторов прерываний, а процессор стартует не с нулевого адреса. Также это будет использоваться если у вас жестко зашиты адреса, например для немаскируемых прерываний, а новый код туда просто не помещается. Тогда будете уходить по jump и возвращаться. И как я уже сказал выше, Вы исходите из того что в системе есть стек куда сохраняются адреса возвратов функций. Уберите из системы стек и останется только goto. Но конечно можно сказать ассемблер - не ЯП.

Слабонервным лучше не открывать, 60 операторов goto в 1-м файле.

У Дейкстры AFAIK претензия к использования GOTO только в качестве оператора безусловного перехода. В том же RISC-V вызов функций делается через инструкцию JAL, JARL (jump and link). Если у вас нет стека, то без goto вам никак.

Информация

В рейтинге
4 277-й
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead
Git
SQL
OOP
Java
Docker
CI/CD
REST
Java Spring Framework
Spring Boot
Linux