Corsair - удобнейший генератор карты регистров, rtl, С хедеров и пр.
Ни для кого не секрет, что составление описания регистров - обязательный, но при этом монотонный и нудный процесс, который хотелось бы максимально автоматизировать. А если еще при этом автоматически формировать rtl и C хедеры? Это бы заметно сэкономило время fpga разработчику, при этом вносить коррекции в такой проект было бы гораздо проще!
Лично я ранее составлял описание регистров в word или excel (немного пользовался airvhdl) для документирования и передачи программистам, а для формирования rtl axi-интерфейса применял генератор ip в vivade или корректировал имеющийся вручную. Все это конечно вполне рабочий вариант, но требует много лишних операций, в каждой из которых есть далеко ненулевая вероятность совершить ошибку. Особенно когда вносишь100500-ю правку по ходу разработки проекта...
И тут мы набрели на один интереснейший проект. Как оказалось, над этим вопросом @esynr3z не только задумался, но еще и реализовал свои мысли на деле в opensource-проекте CorSaiR.
Всем, кто еще не слышал об этом проекте - рекомендую посетить страничку и ознакомиться:
esynr3z.github.io/2021-09-03-corsair
Помимо самой программы оформлена подробнейшая документация и приведены examples. Запуск и настройка делаются просто и интуитивно понятно, даже для неподготовленного человека не займет времени более 10 минут!
Мы в одном из своих проектов уже активно начали пользоваться Corsair. По своему опыту могу с уверенностью сказать, что получается очень удобно: формируешь (или уже корректируешь) описание регистров -> запускаешь генерацию -> правишь инстанс regs в своем проекте и всё готово!
Еще для кого-то будет большим плюсом являться то, что нет необходимости в подключении к интернету, привет НИИ...
Хотелось бы, чтобы как можно больше людей узнали о проекте и начали автоматизировать процессы генерации в своих разработках. А может быть даже стали помогать в развитии проекта!
Репозиторий:
github.com/esynr3z/corsair
Документация:
corsair.readthedocs.io