kex 0 Posted November 28, 2018 · Report post Подскажите, пожалуйста, видел ли кто-либо где-либо реализацию 128b/130b (8GT/s, Gen3+) PCIe PHY? Решил попробовать написать свою PCI корку для работы с хостом, т.к. не устраивает скорость работы хардварного альтеровского IP. Quote Ответить с цитированием Share this post Link to post Share on other sites
RobFPGA 0 Posted November 28, 2018 · Report post 50 minutes ago, kex said: Подскажите, пожалуйста, видел ли кто-либо где-либо реализацию 128b/130b (8GT/s, Gen3+) PCIe PHY? Решил попробовать написать свою PCI корку для работы с хостом, т.к. не устраивает скорость работы хардварного альтеровского IP. Приветствую! Смелый вы человек! И судя по всему очень трудолюбивый. Я как то заглядывал в исходники PCie gen3 - и ради только такой причины точно не стал бы таким заниматься. Успехов! Rob. Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted November 28, 2018 · Report post Доброй ночи! Спасибо! :) Там конечно они намудрили с синхронизацией линий вначале, но в целом вроде решабельно, как мне кажется. Очень вот только расстраивает, что нигде нет кода, на который можно опереться. Quote Ответить с цитированием Share this post Link to post Share on other sites
DuHast 0 Posted November 30, 2018 · Report post А чем Вас Альтеровская корка не устраивает? Она не обеспечивает максимума для Gen3 x8, или Вы просто x16 хотите реализовать? Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted November 30, 2018 (edited) · Report post Мне в принципе не нравится альтеровский код, они пишут универсальные корки на все случаи жизни, не сильно запариваясь по поводу их чистоты и эффективности. А у меня эффективность в приоритете. Ну и вообще, не люблю закрытый код. :) Edited November 30, 2018 by kex Quote Ответить с цитированием Share this post Link to post Share on other sites
AVR 0 Posted November 30, 2018 · Report post 4 hours ago, kex said: Мне в принципе не нравится альтеровский код, они пишут универсальные корки на все случаи жизни, не сильно запариваясь по поводу их чистоты и эффективности. А у меня эффективность в приоритете. Ну и вообще, не люблю закрытый код. :) Что Вы планируете использовать для работы с физикой, да еще с открытым кодом? У меня есть потребность в некоей корке, которая бы работала с внешней фишкой (PHY) через PIPE. Если есть что-то не привязанное к вендору типа корок xilinx/altera/lattice/etc - было бы здорово! Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted November 30, 2018 · Report post Физически у меня как раз Альтеровская, вернее Nallatech-овская карта со стратиксом, так что мой предел - это работа непосредственно с трансиверами на ней, благо есть нормальный Native PHY. В отрыве от вендоров ничего не видел, к сожалению. Да и что видел, все 8b/10b. Так что скорее всего придется засучить рукава и сделать все с нуля, как обыно :) Quote Ответить с цитированием Share this post Link to post Share on other sites
AVR 0 Posted November 30, 2018 · Report post 4 hours ago, kex said: В отрыве от вендоров ничего не видел, к сожалению. Да и что видел, все 8b/10b. Так что скорее всего придется засучить рукава и сделать все с нуля, как обыно :) Какие и где видели? 8b10b это для pci-e 1.x и 2.0, вот меня такие реализации интересуют. Вы говорите, что такие существуют без привязки к вендорам? Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted December 1, 2018 · Report post Нет, невендорных корок не видел. По 8b/10b видел несколько реализаций, на opencores, на гитхабе и просто в гугле находил. Находил еще на гитхабе проект litepcie, но он какой-то мутный, написан на питоне, который вроде как генерируется в верилог, но у меня не получилось. Кстати, сейчас мысль в голову пришла. Я помню, раньше из вивальды как-то таскали люди сырцы для разных нужд. Сейчас это уже не работает? Quote Ответить с цитированием Share this post Link to post Share on other sites
dvladim 0 Posted December 2, 2018 · Report post Так а что вы собственно хотите? Переписать PCS, чтобы повысить скорость работы? На скорость работы это никак не повлияет. Переписать контроллер? Ну, это что называется, "бог в помощь", т.к. трудоемкость оценивается в несколько человеко-лет. Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted December 3, 2018 · Report post В итоге конечно хочу полностью переписать контроллер, а начать с PCS. Ну, несколько человеко-лет - это вы конечно загнули, работы немало, но думаю, в пределах пары месяцев. И спасибо за добрые пожелания! :) Quote Ответить с цитированием Share this post Link to post Share on other sites
RobFPGA 0 Posted December 3, 2018 · Report post Приветствую! 58 minutes ago, kex said: В итоге конечно хочу полностью переписать контроллер, а начать с PCS. Ну, несколько человеко-лет - это вы конечно загнули, работы немало, но думаю, в пределах пары месяцев. IMHO - пару месяцев надо будет только в стандарт вчитываться и тест-план составлять как это все верифицировать. В UVM VIP корке от Synopsys для PICe ~50MB исходников и столько же документации к ней . И это без сценариев тестирования, только инфраструктура. Удачи! Rob. Quote Ответить с цитированием Share this post Link to post Share on other sites
AVR 0 Posted December 3, 2018 · Report post 1 hour ago, kex said: Ну, несколько человеко-лет - это вы конечно загнули, работы немало, но думаю, в пределах пары месяцев. Что может быть хуже чем, недооценка трудозатрат? Вы оптимист 80-го уровня. Quote Ответить с цитированием Share this post Link to post Share on other sites
_Ivan_ 0 Posted December 3, 2018 · Report post Коллега в МЦСТ занимался верификацией PCI-E ядра на UVM потратили год или два... Quote Ответить с цитированием Share this post Link to post Share on other sites
kex 0 Posted December 3, 2018 · Report post Ну, поживем увидим. Стандарт, само собой, уже прочитан, и план есть, было конечно желание распутать клубок, опираясь на готовый код. По выковыриванию кода из вивальды не сможете подсказать? Quote Ответить с цитированием Share this post Link to post Share on other sites