В уже однажды отлаженный модуль можно не заглядывать.
Чаще всего да, но он для этого должен быть отлажен и протестирован должным образом. К сожалению, в моей практике, в условиях временных ограничений, это не всегда так, и при перепаковке, при различных оптимизациях, могут, например, тайминги полететь на проверенном модуле.
Какие-то [мега]функции лучше оформлять в модули, даже внутри одного *.v файла, это упрощает визуальный контроль RTL.
Да, тоже периодически так делаю, может сделать картину красивее, главное не злоупотреблять.
Когда видишь нагромождение проводов и мультиплексоров - ты явно что-то делаешь не так. В этом случае глубокий детальный анализ и не нужен.
Ну частично спорно. В идеале, конечно, все нужно приводить к аккуратному виду, но если сроки горят, это может быть очень сложно. На наведение красоты можно потратить больше времени, чем на саму разработку.
А в целом, с подходом к модульности и простоте полностью согласен.
Ну да, у схемотехников свои сложности при переходе, у программистов свои. Проще всего, когда особо ни в то, ни в том не разбирался😁 RTL, конечно, тоже просматриваю, но в основном беглым взглядом, подробно - только когда что-то где-то не сходится. Весь RTL проверять, это можно после каждой компиляции месяцами сидеть.
Вот и мне кажется, что проще, когда имеешь дело с похожими сущностями. Про SpinalHDL, к сожалению, знаю не много, ну может когда-нибудь и до него доберусь)
Ну на выходе мы получаем схему, а не программу, соответственно, и процесс сборки значительно отличается. Сначала производится синтез, в результате которого получаются нетлисты, грубо говоря, мы получаем логическую схему. Потом имплементация - элементы схемы раскидываются по кристаллу и прокладываются пути между ними. Более детально думал раскрыть в одной из следующих глав.
Ну здесь основная идея в том, чтобы познакомить студентов с существующими понятиями. Естественно, никто не будет их просить разработать за неделю собственный pci контроллер, однако, если они будут знать хотя бы в общих чертах, что такое pci, что существуют готовые корки, как их настроить, что с другой стороны есть драйвер и как он примерно работает - это будет неплохо. Но в любом случае это пока только идея. По поводу непосредственно учебной программы, я бы оставил ее формирование в руках преподавателя. Мои материалы - это скорее то, что можно использовать для подготовки учебной программы и одновременно дополнительное чтение для студентов. Ну и зарплата - по своему опыту мог бы сказать, что молодого специалиста ожидает небольшая, однако, здесь уже многое зависит от самого специалиста, его способностей и удачи в конце концов.
Добрый вечер! Да, сейчас уже видел работы Юрия Панчула, очень качественный материал. На тот момент, когда я начинал, я с ними знаком еще не был. Вообще этот курс задумывался как вспомогательный, на основе которого преподаватели уже могли выстроить свои занятия со студентами и обеспечить первичную подготовку кадров для нашего предприятия. При этом никто не мешает использовать и работы Юрия. Здесь я просто решил поделиться своими наработками, вдруг кому-то пригодится. Но дело и правда не простое, а я обычный инженер - делаю что могу. Надеюсь, что во вред никому не пойдет.
Ну если вас именно физика кристаллов интересует, из наших, например, Микрон этим должен заниматься. Но техпроцессы, естественно, гораздо более крупные, чем у лидеров.
Ну в составные устройства вы можете заложить ту логику, которую захотите, а вот изменить физическую структуру триггеров, лутов или аппаратных блоков памяти уже, конечно, не получится, это то, что зашито в кристалле на заводе. Здесь уже нужно обращаться к asic, но это не уровень отдельного человека или маленькой группы, этим занимаются корпорации, уж больно дорого.
Да, действительно, сейчас есть определенные проблемы с доставаимостью чипов, особенно это касается altera, с xilinx наши заграничные товарищи подружились лучше. Здесь я рассматриваю xilinx и altera потому что, во-первых, они пока еще держат большую часть мирового рынка, во-вторых, с чисто китайской архитектурой пока не работал, сложно учить тому, в чем сам не разбираешься.
Большое спасибо за комментарий! По поводу АЛУ - да, возможно. При помощи ПЛИС вы можете организовать собственную схему на уровне регистров, комбинационных схем, некоторых аппаратных блоков и связей между ними. Но, как правильно заметили, есть ряд ограничений, таких как количество логических ячеек, предельная частота работы и т.д.
Да, планирую так же в виде статей сюда по главам выкладывать, но пока это только зачатки курса, основная часть где-то на четверть написана, когда он будет завершен, пока не понятно, если вообще будет. Кроме того, материал писался скорее как вспомогательный для организации занятий в университете, но, думаю, хуже не сделает и как доп. чтение для новичков пойдет. По необходимым знаниям, каких-то серьезных, наверно, не требуется, основы дискретной математики, основы схемотехники могут пригодиться, в остальном - можно параллельно разбираться, дорогу осилит идущий)
Чаще всего да, но он для этого должен быть отлажен и протестирован должным образом. К сожалению, в моей практике, в условиях временных ограничений, это не всегда так, и при перепаковке, при различных оптимизациях, могут, например, тайминги полететь на проверенном модуле.
Да, тоже периодически так делаю, может сделать картину красивее, главное не злоупотреблять.
Ну частично спорно. В идеале, конечно, все нужно приводить к аккуратному виду, но если сроки горят, это может быть очень сложно. На наведение красоты можно потратить больше времени, чем на саму разработку.
А в целом, с подходом к модульности и простоте полностью согласен.
Ну да, у схемотехников свои сложности при переходе, у программистов свои. Проще всего, когда особо ни в то, ни в том не разбирался😁 RTL, конечно, тоже просматриваю, но в основном беглым взглядом, подробно - только когда что-то где-то не сходится. Весь RTL проверять, это можно после каждой компиляции месяцами сидеть.
Вот и мне кажется, что проще, когда имеешь дело с похожими сущностями. Про SpinalHDL, к сожалению, знаю не много, ну может когда-нибудь и до него доберусь)
Ну не знаю, мне и Verilog вполне комфортно совмещать с плюсами и питоном. Но тут, конечно, каждому свое.
Ну они активно развиваются, но пока еще путь долгий предстоит
Можно попробовать поспрашивать: https://t.me/fpgasystems, может накидают вариантов.
Ну на выходе мы получаем схему, а не программу, соответственно, и процесс сборки значительно отличается. Сначала производится синтез, в результате которого получаются нетлисты, грубо говоря, мы получаем логическую схему. Потом имплементация - элементы схемы раскидываются по кристаллу и прокладываются пути между ними. Более детально думал раскрыть в одной из следующих глав.
Отлично, спасибо! Может, как время будет, статью дополню)
Здравствуйте, да, по мере возможностей выложу что уже есть и дальше попытаюсь продолжить, но, к сожалению, это может затянуться.
Тоже неплохой вариант подготовки.
Спасибо за дополнения, с последними версиями пока не работал, если доберусь до тех глав, буду изучать.
Ну здесь основная идея в том, чтобы познакомить студентов с существующими понятиями. Естественно, никто не будет их просить разработать за неделю собственный pci контроллер, однако, если они будут знать хотя бы в общих чертах, что такое pci, что существуют готовые корки, как их настроить, что с другой стороны есть драйвер и как он примерно работает - это будет неплохо. Но в любом случае это пока только идея. По поводу непосредственно учебной программы, я бы оставил ее формирование в руках преподавателя. Мои материалы - это скорее то, что можно использовать для подготовки учебной программы и одновременно дополнительное чтение для студентов. Ну и зарплата - по своему опыту мог бы сказать, что молодого специалиста ожидает небольшая, однако, здесь уже многое зависит от самого специалиста, его способностей и удачи в конце концов.
Но если, например, Ядро захочет организовать свою лабораторию на физфаке ЮФУ, думаю, никто против не будет😁. Но пока они туда не добрались.
Добрый вечер! Да, сейчас уже видел работы Юрия Панчула, очень качественный материал. На тот момент, когда я начинал, я с ними знаком еще не был. Вообще этот курс задумывался как вспомогательный, на основе которого преподаватели уже могли выстроить свои занятия со студентами и обеспечить первичную подготовку кадров для нашего предприятия. При этом никто не мешает использовать и работы Юрия. Здесь я просто решил поделиться своими наработками, вдруг кому-то пригодится. Но дело и правда не простое, а я обычный инженер - делаю что могу. Надеюсь, что во вред никому не пойдет.
Ну если вас именно физика кристаллов интересует, из наших, например, Микрон этим должен заниматься. Но техпроцессы, естественно, гораздо более крупные, чем у лидеров.
Китайцы сейчас активно развиваются, нашим, к сожалению, пока еще далеко. Здесь можно производителей посмотреть: https://github.com/FPGA-Systems/fpga-awesome-list
Ну в составные устройства вы можете заложить ту логику, которую захотите, а вот изменить физическую структуру триггеров, лутов или аппаратных блоков памяти уже, конечно, не получится, это то, что зашито в кристалле на заводе. Здесь уже нужно обращаться к asic, но это не уровень отдельного человека или маленькой группы, этим занимаются корпорации, уж больно дорого.
Да, действительно, сейчас есть определенные проблемы с доставаимостью чипов, особенно это касается altera, с xilinx наши заграничные товарищи подружились лучше. Здесь я рассматриваю xilinx и altera потому что, во-первых, они пока еще держат большую часть мирового рынка, во-вторых, с чисто китайской архитектурой пока не работал, сложно учить тому, в чем сам не разбираешься.
Большое спасибо за комментарий! По поводу АЛУ - да, возможно. При помощи ПЛИС вы можете организовать собственную схему на уровне регистров, комбинационных схем, некоторых аппаратных блоков и связей между ними. Но, как правильно заметили, есть ряд ограничений, таких как количество логических ячеек, предельная частота работы и т.д.
Да, планирую так же в виде статей сюда по главам выкладывать, но пока это только зачатки курса, основная часть где-то на четверть написана, когда он будет завершен, пока не понятно, если вообще будет. Кроме того, материал писался скорее как вспомогательный для организации занятий в университете, но, думаю, хуже не сделает и как доп. чтение для новичков пойдет. По необходимым знаниям, каких-то серьезных, наверно, не требуется, основы дискретной математики, основы схемотехники могут пригодиться, в остальном - можно параллельно разбираться, дорогу осилит идущий)