Як створити власні процесори на основі ARM?


37

У мене є кілька запитань щодо того, як я б створив власний процесор на основі ARM?

  • Як починати з ліцензії ARM і закінчувати пакетом, готовим припаяти до плати?
  • Що я отримую від ARM (я впевнений, що у них є декілька варіантів ліцензій на страву - ліцензія на архітектуру (стиль Qualcomm Snapdragon) та основна ліцензія (стиль TI OMAP))?
  • Які інструменти мені потрібно використовувати, коли у мене є "те щось" від ARM?
  • Що я надсилаю до файлу?
  • Я вважаю, що лише деякі засновники мають ліцензію на травлення ядра ARM на кремнієву пластину. Чи правий я?
  • Як студент, я можу дозволити собі це зробити на FPGA? Як я можу отримати досвід для чогось подібного?

9
Очевидна відповідь - поговорити з ARM.
Олін Латроп

3
Погляньте на opencores.com - там є безліч різноманітних процесорних ядер у різних станах повноти та функціональності. Що стосується отримання фактичного основного джерела ARM ... як каже @OlinLathrop ... поговоріть з ARM.
akohlsmith

6
Я не розумію суттєвих питань, це може бути наївним питанням, але, безумовно, законним ІМО.
Джон Л

2
Проблема полягає в тому, що ваше запитання є специфічним для робочого процесу, за яким ви не отримаєте. Робочі процеси, за якими ви можете слідувати - використовуючи оригінальний або вільно доступний дизайн в HDL для націлювання на FPGA - настільки ж відрізняються від того, наскільки спекуляція насправді.
Кріс Страттон

2
Ядро Cortex-M1 , здається, призначене для роботи в будь-якому відповідним чином здатної FPGA. Основні постачальники FPGA мають ліцензію на IP, і передають її дизайнеру, як і будь-яке інше програмне забезпечення. Я припускаю, що це не безкоштовно, але є ймовірні програми, доступні спеціально для академічного використання.
RBerteig

Відповіді:


68

Ось як це роблять компанії:

  1. Зібрати близько 10 мільйонів доларів США.
  2. Домовляйтеся з ARM, щоб отримати ліцензію. Це, ймовірно, коштуватиме щонайменше 1 мільйон доларів США.
  3. Отримайте файли дизайну від ARM. Ймовірно, це буде в якійсь формі VHDL, Verilog або "зашифрованому" netlist.
  4. Створіть свій власний чіп, використовуючи суміш власної логіки (для периферії) та того, що ARM вам дав. Цей крок, ймовірно, потребуватиме дорогого програмного забезпечення для САПР та невеликої групи експертів. Розраховуйте витратити щонайменше 5 мільйонів доларів США та кілька років.
  5. Дістаньте маски, зроблені для самого чіпа. Якщо ви використовуєте будь-який сучасний напівпровідниковий процес, то це буде становити близько 1 мільйона доларів США.
  6. Зробіть сам чіп. Ціна варіюється, але повинна бути меншою за 0,5 млн. Дол.
  7. Налагодьте створений вами чіп, виправте помилки, а потім поверніться до кроку 5, поки у вас не з’явиться щось, що ви можете продати.

Ось як ви це робите:

  1. Пройдіть курс аспірантури з комп’ютерної архітектури у вашому місцевому університеті.
  2. Пройдіть більше курсів з цифрової логіки та іншого.
  3. Створіть процесор з нуля в VHDL або Verilog.
  4. Дизайн іншого процесора з нуля.
  5. Подивіться набір інструкцій ARM та спроектуйте сумісний процесор.
  6. Зробіть, щоб ваш процесор, сумісний з ARM, працював у FPGA.
  7. Не поширюйте свій вихідний код VHDL / Verilog, якщо ви не хочете подати позов.
  8. Використовуйте досвід ARM, щоб написати хорошу дисертацію для кандидата наук.
  9. Використовуйте доктор наук, щоб влаштуватися на роботу в ARM, або TI, або хто завгодно. Потім повторіть процес, використовуючи попередні 7 кроків щодо того, як це робить компанія.

Гаразд, цей список є трохи чіпким, але в основному правильним. Справа в тому, що навіть не турбуйтеся безпосередньо з ARM, оскільки шанси на те, що у вас немає грошей. І не робіть нічого, що також призведе до позову ARM.


1
+1. Відмінна відповідь. Що я збирався сказати, але краще.
Rocketmagnet

1
Будь-який хороший курс включав би основну структуру різних видів процесорів та те, як вони працюють. Теми повинні охоплювати мікрокод, декодування інструкцій, ALU, доступ до пам’яті, кеш, регістри, конвеєрні переклади, небезпеку даних, попередній вибір інструкцій тощо

3
Чи є якась причина, що набір інструкцій ARM, сам по собі, був би більш патентованим, ніж будь-який з інших процесорів, з яких клонується багато? Звичайно, є вподобані деякі архітектурні особливості, які запатентовані, але якщо мета полягає в розробці процесора, який буде працювати з існуючими компіляторами, чи встановив би сам набір інструкцій проблему?
supercat

1
@supercat Як правило, самі інструкції не дуже патентні, якщо вони не містять архітектурних речей. MIPS зробив це за допомогою свого процесора, де вони запатентували деякі інструкції, які завантажуватимуть / зберігатимуть слова, які не мають вирівнювання за словом, а також деякі речі для динамічного переходу між великим та маленьким ендіаном. Це було оскаржено в суді, коли MIPS подав до суду на виробника клонів MIPS, і MIPS виграв (ще близько 2000 року). Але більшість патентів стосуються архітектурних питань. На жаль, ви не можете зробити процесор, сумісний із існуючими компіляторами, без копіювання архітектури та набору інструкцій, на жаль.

1
@LordLoh вам можуть бути корисні ці запитання: electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638
W5VO

32

ARM має програму University DesignStart . Як студент, ви можете отримати доступ лише до основних матеріалів Cortex-M0. Але якщо ви по-справжньому зацікавлені, залучіть свій факультет, і тоді ви зможете отримати доступ до набагато більше дизайнерських матеріалів (Verilog FPGA-код, Ідентифікаційний IP, Моделювання тощо).


4
Дякую :-) Я спробую домогтися свого радника, щоб запитати щось із цього.
Лорд Лох.

WFIW, ця відповідь застаріла, і Cortex-M0, і Cortex-M3 доступні, а деякі частини продукту відкриті для студентів, які не є студентами / установами.
Шон Хуліхане

5

Погляньте на це ядро ARM на OpenCores.


1
Але будьте попереджені: ARM таких термінів повторної реалізації просто терпиться: easures.com/author.asp?section_id=36&doc_id=1287452 , ви не зможете перестати відмовлятися від судового позову. Також розглянемо відкриті арки типу RISC-V.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

3

ARM Cortex-M1 (мабуть, найпростіший з процесорів ARM) - перший процесор ARM, спеціально розроблений для впровадження як м'якого процесора в FPGA. Оптимізовано для таких типів FPGA :

Actel (M1 ProASIC3 and M1 Fusion)
Altera (Cyclone-II, Stratix-III)
Xilinx (Spartan-3, Virtex-5)

ARM сама виготовляє комплект для розробки Cortex-M1 для Altera Cyclone III, хоча це дуже дорого в 625 доларів від DigiKey . Ви все-таки отримуєте всі IP-адреси ARM Cortex-M1 та ліцензію на розробку (плюс безкоштовний грант на 1000 дощок для тих, хто йде у виробництво, досить круто).

Можливо, є кілька варіантів отримання ІС самостійно (можливо, у них є академічна програма, хтось ще згадав про університетську програму, але це було для М0). Тоді ви могли окремо придбати дошку розвитку.

Ось додаткова інформація про ARM Cortex-M1 на Altera .

Ось деякі відомості про розміщення ARM Cortex-M1 на Actel FPGA.

Тим часом є цікавість до інших версій ARM Cortex на FPGA; Ось документ від когось, хто реалізував ARM Cortex-M0 на Xilinx FPGA.


Якщо ви хочете змінити дизайн, спробуйте зробити «належну» 32-бітну машину. В даний час ARM зчитує 32-бітну інструкцію 8 біт одночасно, що означає збільшення ПК на 4 для кожного вибору інструкцій.
Алан Кемпбелл

1

Тепер ви можете отримати доступ до процесора Cortex-M3 (та розширюваної підсистеми AHB / APB) за допомогою програми DesignStart ARM.

Параметр Eval забезпечує ціль FPGA (моделювання підтримується, із затупленим RTL ядра, все інше у Verilog). Наразі це орієнтовано на ARM MPS2 + FPGA з підтримкою mbed.

Версія Pro (доступна лише компаніям / університетам, які можуть підписати ліцензію) дозволяє виготовляти, і включає процесорне ядро ​​у Verilog (це стосується як Cortex-M0, так і Cortex-M3).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.