https://www.xilinx.com/video/hardware/how-to-convert-asic-code-to-fpga-code.html
в Xilinx от взагалі відео на цю тему є, але я не дивився
Взагалі у Інтела наприклад є документ, як портувати код з асіка на фпга і навпаки. Його треба знайти, але неважко гуглиться. Якщо його прочитати то досить швидко зʼявиться уявлення про ключові відмінності
Читать полностью…Ну наприклад якщо в тебе одне кастомне айпі використовується в проєктах, що побудовані на різних сімействах пліс
Читать полностью…Тут можна і так робити, але інферрінг портабельний (теж не завжди), а явне обʼявлення - ні
Читать полностью…Треба просто ознайомитися з відповідним софтом і базовою бібліотекою IP під конкретну технологію.
Читать полностью…Я зараз закінчую їбєйший за розміром ІР модуль, який після останньої правки багів ще сильніше розжирів і який писався з нуля, тому різницю між тим, шо робили в млх я побачив. Мені більше цікава саме з плісами, там же обмеження інші
Читать полностью…в ПЛІС теж є різного роду робота - це може бути інтеграція IP і робота з інтерфейсами - це одне, може бути DSP - там більше високорівневих тулів
З точки зору написання коду на (System)Verilog підходи схожі, є окремі нюанси, але маючи досвід в одному, можна швидко влитись в інше
Так, а там у ПЛІС сильно велика різниця з асіками? Ти, все ж і з тим і з тим працював
Читать полностью…Zynq - це SoC, там ARM процесор з периферією, і ще додатково FPGA. Вивчати одразу і те і те, може бути досить складно
Читать полностью…другий лінк звідси - мабуть, те, з чого я б тобі радив почати читання. Там є загальний огляд відмінностей
Читать полностью…https://www.intel.com/content/www/us/en/docs/programmable/683323/18-1/recommended-design-practices.html
є от також старіша версія документа по design practices, з Quartus Standard (попередній лінк - з Quartus Pro), тут менше читати
https://www.intel.com/content/www/us/en/docs/programmable/683082/23-1/recommended-hdl-coding-styles.html
https://www.intel.com/programmable/technical-pdfs/653665.pdf
Обʼявлення IP часто виглядає монструозно і потребує знання конкретного IP щоби прочитати код. А інферінг впирається чисто в мову HDL, відповідно людині що не працювала з даним сімейством може бути простіше його прочитати
Читать полностью…а є сенс у тій портабельності? Бо там у вакансіять чітко зазначають сімейства чіпів, не те що виробника
Читать полностью…о, а це вже помітна відмінність. Бо в асіку пам'ять додається явно підключенням блока пам'яті
Читать полностью…Ще така штука як inferring - це коли певний код автоматично конвертується у використання апаратних блоків (памʼяті, DSP блоків тощо)
Але це все дрібниці
не доводилося юзати це в асіку)) Єдине, шо я робив останні 2,5 роки це чисто дизайн і простенькі тести для первинного дебага
Читать полностью…ну набір синтезованих конструкцій в низькорівневих HDL практично той самий
ПЛІС зазвичай вміє хендлити initial statement (окремо від ресета)
Треба розуміти структуру базової комірки і юзати її фічі, треба розуміти про види роутінгу, писати констрейни - тобто тут треба собі бути і бекенд і фронтенд одночасно, але констрейни тут значно простіші аніж в АСІКах бо тут майже ніколи не констрейнять placement, а тільки таймінги
асіки теж різні бувають. В млх цифра була невеличка, зазвичай. У компаній які роблять чисто цифрові чіпи, там підхід теж трохи інший - там багато інтеграції IP і мало дизайну "з нуля"
Читать полностью…