В принципе ты прав, я тоже обдумывал эту ситуацию - массовое внесение исправлений в файлы мегафункций.
Но буквально на следующий день жизнь показала, что все это не совсем так. Возьмем в качестве примера плату A-E115FB. Я ее специально добавил в проект, потому что она принципиально отличается от всех остальных плат.
На этой плате нет генератора 50 Мгц. Вообще нет. Есть целых три других - 25, 27 и 48 Мгц. И вот что делать, если pll.v - общая для всех циклонов 4? Конечно, можно взять 48Мгц вместо 50, и надеяться, что параметры VGA-сигнала уплывут не сильно. Но это не наш метод. Нам придется сделать свою собственную копию pll.v, включить ее в дерево проекта вместо стандартной, и синтезировать эти самые 50Мгц из 25. В результате имеем бардак - где-то испоьзуется своя pll, где-то общая... Вот потому я и решил, что pll.v уникален для каждой платы. А потребуется еще одна частота - подключить вторую pll, их же, я так понимаю, как минимум две даже в самых младших FPGA. Может быть я и не прав, конечно...
Что касается компонентов altsyncram, то вот они уж точно будут одинаковыми для всего семейства. Но, с другой стороны, и ошибок они не могут содержать по определению - это же автоматически сгенерированные файлы.
Вообщем, давай пока оставим так как есть, а если новые платы попрут лавиной - будем решать как жить. Я лично сомневаюсь, что в проекте появится больше 10 плат, не того уровня проект чтобы массово им интересовались.
Во, это было бы отлично. В том смысле, что ты свежим взглядом можешь сразу ухватить, какие могут возникать проблемы при портировании. Тем более что DE0, как я понимаю, это уже другое семейство, cyclone 3.Ну что ж, надо мне делать порт на DE0,
Я-то к проекту уже привык, может быть каких проблем вообще не замечаю.
Самое главное - интерфейс к соединительной плате topboard, я в доке более-менее подробно описал.Update: хорошо бы еще прописать минимальный гайд/правила для контрибуторов - какие языки допускаются, правила оформления исходников, что должен включать порт - какую документациюб тесты и так далее.
А остальное... Да пусть, наверное, делают кому как удобнее, главное вообще чтобы хоть кто-то что-то попытался сделать. Я даже на VHDL согласен, сам я на этом языке писать не могу, но чужой код понимаю.
Собственно, основные требования диктуются здравым смыслом:
- добавить в проект файл readme, в котором описать, какая внешняя периферия к каким портам подключается, если ее нет на плате. Всякие ps/2, SD и прочее. И описать назначение кнопок-переключателей-светодиодов.
- не забыть подправить SDC-файл под свои настройки pll. Это для альтеры, конечно, у ксилинксов наверняка свой формат файлов временного анализа используется
- не трогать без уважительной причины остальные файлы проекта, не относящиеся к данной плате.
Или стоит внести это в документацию?





Ответить с цитированием