Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠŸΠ›Π˜Π‘ простым языком для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… доступСн фиксированный Π½Π°Π±ΠΎΡ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ срСдств присущих ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ‡ΠΈΠΏΡƒ, ΠΎΡ‚ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ получится. Π’Π°ΠΌ прСдоставлСн Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ взаимодСйствия с ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСдой, посрСдством считывания Π΄Π°Π½Π½Ρ‹Ρ… с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сигналов ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ устройствам с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вычислСния, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистрах ΠΈΠ»ΠΈ ΠŸΠ—Π£, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ‚Ρ‹ΠΌΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. На этом Π² сущности ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы (ΠŸΠ›Π˜Π‘) ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ, программируя устройство Π²Ρ‹ сами создаСтС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… логичСских элСмСнтов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ высокоС Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ микросхСмы. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ измСняя ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ основных Π³Ρ€ΡƒΠΏΠΏΡ‹:

1. Массив ΠΈΠ· логичСских элСмСнтов (макроячССк, логичСских Π±Π»ΠΎΠΊΠΎΠ²).

2. Π‘Π»ΠΎΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°-Π²Ρ‹Ρ…ΠΎΠ΄Π° (IO).

3. Π›ΠΈΠ½ΠΈΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ управляСт этими связями.

Однако Ρ‚Π°ΠΊΠΎΠ΅ структурированиС ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΎ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΡ‹ рассмотрим этот вопрос Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡ Π²Ρ‹ соСдиняСтС элСмСнты ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ это Π΄Π΅Π»Π°Π»ΠΈ, собирая ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов устройство ΠΈ соСдиняя ΠΈΡ… Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ.

Π“Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠŸΠ›Π˜Π‘ ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌΠΈ элСмСнтами, Π° Π² ΠŸΠ›Π˜Π‘ Π½Π° основС прописывания связСй основываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ.

Π’Ρ‹Π±ΠΎΡ€ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² происходит Π½Π° основС мноТСства ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ:

БыстродСйствиС ΠΈ тактовая частота;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ особСнности ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π»ΠΈΠ½ΠΈΠΉ связи ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² (I2C, one-wire, PWM-сигнал ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅).

Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠŸΠ›Π˜Π‘ количСство Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ…, соотвСтствСнно измСняСтся ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ выполняСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, прописанныС Π² Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΠΈ ΠŸΠ›Π˜Π‘ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, поэтому сравнСниС этих устройств ΠΏΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС нСцСлСсообразно. Блишком различаСтся ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π’ΠΈΠ΄Ρ‹

ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π° сСгодняшний дСнь ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π° основных Π²ΠΈΠ΄Π° ΠŸΠ›Π˜Π‘:

ВнутрСнняя структура строится Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ макроячССк ΠΈΠ»ΠΈ логичСских Π±Π»ΠΎΠΊΠΎΠ², Π° количСство элСмСнтов Π² Π½ΠΈΡ… Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… сотСн ΠΈ тысяч ΡˆΡ‚ΡƒΠΊ. Благодаря ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ простотС стоят дСшСвлС Ρ‡Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. Всё это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ CPLD Π² основном Π² схСмах, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ большоС число Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΏΡ€ΠΈ этом Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ нСслоТныС Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, хранится Π²ΠΎ внСшнСй энСргонСзависимой памяти. ΠšΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… логичСских элСмСнтов Π² FPGA ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ для выполнСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π»ΠΎΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала DSP. Всё это позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ процСссор, устройства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС устройства.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ:

Π₯отя фактичСски Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ энСргонСзависимой памяти Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ CPLD. Π­Ρ‚ΠΎ частично Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Π“Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ CPLD ΠΎΡ‚ FPGA являСтся внутрСнняя структура.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство CPLD ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

А примСрная схСма Π΅Ρ‘ макроячСйки выглядит Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠœΠ°ΠΊΡ€ΠΎΡΡ‡Π΅ΠΉΠΊΠ° состоит ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ², Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² (ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…) ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Π€Π‘ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ….

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ – Π±Π»ΠΎΠΊ-схСма CPLD микросхСмы сСмСйства MAX II Ρ„ΠΈΡ€ΠΌΡ‹ Altera.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

И структурный ΠΏΠ»Π°Π½ микросхСм этого ΠΆΠ΅ сСмСйства.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΡˆΠΈΠ½Ρ‹ макроячСйкам Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, Π½Π° Π°Π½Π³Π». ΠΎΠ½ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Logic Allocator, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° схСмС Π½ΠΈΠΆΠ΅, Π½Π° Π½Π΅ΠΉ ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (Global Routing Pool), Π° Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… макроячСйки (macrocells) ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎ Π΄Π²Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… связи.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ микросхСмы ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ с Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ макроячССк Ρ‡Π΅Ρ€Π΅Π· Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ) – ORP (Output Routing Pool), ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Ρ‘ ΠΆΠ΅ происходит соСдинСниС Π’Π₯ΠžΠ”ΠΠžΠ™ Π»ΠΎΠ³ΠΈΠΊΠΈ с GRP, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΈΠΆΠ΅.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… CPLD Π΅ΡΡ‚ΡŒ Ρ‚.Π½. прямыС Π²Ρ…ΠΎΠ΄Ρ‹ (Direct Input) – ΠΎΠ½ΠΈ соСдинСны со Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ ячССк Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Π£ FPGA структура ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

L – логичСский ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ;

S (substitution block) – Π±Π»ΠΎΠΊ подстановок, ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Ρ…ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число Π±ΠΈΡ‚, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚, ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число Π±ΠΈΡ‚. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами – Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€, ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€.

C (connection block) – Π±Π»ΠΎΠΊ соСдинСний.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ устройства Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ ΡΡ‚Π°Π½ΡŒΡ‚Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ ΡƒΠΌΠ½Ρ‹Ρ… устройств с нуля: Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ ΡƒΠΌΠ½Ρ‹Ρ… устройств

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠŸΠ›Π˜Π‘ доступно графичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ логичСскиС схСмы ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ. ПослСднСС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всё ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ программируСтся графичСским способом.

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй ΠΏΡ€ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ популярных ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ сСрий ΠŸΠ›Π˜Π‘

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстными ΡΠ²Π»ΡΡŽΡ‚ΡΡ издСлия Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Altera (основана Π² 1983 Π³ΠΎΠ΄Ρƒ);

Xilinx (Основана Π² 1984 Π³ΠΎΠ΄Ρƒ).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π£ Altera Π΅ΡΡ‚ΡŒ нСсколько основных сСрий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

НачинаСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с FPGA ΠΈΠ»ΠΈ ΠŸΠ›Π˜Π‘ это просто. Π§Π°ΡΡ‚ΡŒ 1

Π’Π’Π•Π”Π•ΠΠ˜Π•

Из доступных Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹Ρ… ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²ΡƒΡ… основных ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Altera ΠΈ Xilinx, с ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ свой ΠΏΡƒΡ‚ΡŒ освоСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. На ΠΌΠΎΠΉ взгляд Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‡ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Altera, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… срСда проСктирования ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ обновляСтся, Π° Π²Ρ‹Π±Ρ€Π°Π² ΠΎΠ΄ΠΈΠ½ популярный Ρ‡ΠΈΠΏ Xilinx XC3S500E Π²Π°ΠΌ придСтся Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ срСдой ISE 14.7 (хотя ΠΈ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹).

Π Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ Π±ΠΎΠ»Π΅Π΅ простых Π²Π΅Ρ‰Π°Ρ…, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎ ΠΌΠ½Π΅ Π² Ρ€ΡƒΠΊΠΈ ΠΏΠΎΠΏΠ°Π» Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: Cyclone IV 4 FPGA Core Board ΠΈ Altera USB Blaster Downloader PLD Development kit Π·Π° 35$, ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹ΠΉ Π½Π° AliExpress.

1 Π”Π΅ΠΌΠΎΠΏΠ»Π°Ρ‚Π° Cyclone IV 4 FPGA Core Board, краткая характСристика

На ΠΏΠ»Π°Ρ‚Π΅ (Рис. 1) установлСн Ρ‡ΠΈΠΏ EP4CE6E22C8N, Π΅Π³ΠΎ характСристики:

На ΠΏΠ»Π°Ρ‚Π΅ установлСно:

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ JTAG, Altera USB Blaster.

2. Π‘Ρ€Π΅Π΄Π° Quartus II ΠΈ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

И ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ (Download Selected Files). ПослС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, рСгистрируСмся, скачиваСм ΠΈ устанавливаСм.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π–ΠΌΠ΅ΠΌ next, Ρƒ нас ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚, пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (empty project) ΠΈΠ»ΠΈ шаблон (Project template). ΠžΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ пустой, next. Π”Π°Π»ΡŒΡˆΠ΅ нас просят Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρƒ нас Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ свой ΠΏΡƒΡ‚ΡŒ, ΠΆΠΌΠ΅ΠΌ next.

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ наш Ρ‡ΠΈΠΏ, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² любоС врСмя. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π½Π° рисункС, Family – Cyclone IV E, specific device selected in β€œAvailable devices” ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ наш Ρ‡ΠΈΠΏ EP4CE6E22C8N, ΠΎΠ½ Π² самом Π½Π°Ρ‡Π°Π»Π΅. Если Ρƒ вас Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ свой, это Π²Π°ΠΆΠ½ΠΎ. Π–ΠΌΠ΅ΠΌ next.

Π’ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Unused pinsΒ». Π­Ρ‚Π° настройка опрСдСляСт, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с Π½Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎ, Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π²Ρ‹ вряд Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ всС ΠΏΠΈΠ½Ρ‹, Π° Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π° Π΄Π΅Π»Π΅ соСдинСны с Π·Π΅ΠΌΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ (Π½Ρƒ ΠΌΠ°Π»ΠΎ Π»ΠΈ, ΠΊΡ‚ΠΎ Ρ€Π°Π·Π²ΠΎΠ΄ΠΈΠ» ΠΏΠ»Π°Ρ‚Ρƒ). Если Π²Ρ‹ ΠΏΠΎΠ΄Π°Π΄ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΡƒ Π½Π° Π·Π°Π·Π΅ΠΌΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΈΠ½, Ρ‚ΠΎ ΠΎΠ½ сгорит, поэтому Π½ΡƒΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° этим.

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΈΠ½Ρ‹, это Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ сигнал шСл Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ Π½ΠΎΠΆΠΊΠΈ Ρ‡ΠΈΠΏΠ°, вСдь ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Quartus Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ осущСствлСна Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ‹.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ это всС Π² Β«Assignment EditorΒ»

Π’ появившСмся ΠΎΠΊΠ½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ°ΠΊ Ρƒ мСня, Π½Ρƒ ΠΈΠ»ΠΈ Ссли совсСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ согласно схСмС вашСй ΠΏΠ»Π°Ρ‚Ρ‹.

Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Β«ToΒ» вписываСм имя Π²Ρ…ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°. Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Β«Assignment NameΒ» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«LocationΒ». Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Β«ValueΒ» Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° микросхСмы, согласно схСмы ΠΏΠ»Π°Ρ‚Ρ‹ (Ρƒ мСня Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΈΠ½ΠΎΠ² написаны прямо Π½Π° ΠΏΠ»Π°Ρ‚Π΅).

Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Π·Π΅ΠΌΠ»Π΅, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎ Π²Ρ…ΠΎΠ΄Ρƒ Ρ‡ΠΈΠΏΠ°. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π½ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π° Π²ΠΎΡ‚ Π±Π΅Π· наТатия, нСпонятно, Π½ΠΎΠ³Π° Ρ‡ΠΈΠΏΠ° Π±ΡƒΠ΄Π΅Ρ‚ просто Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² Π²ΠΎΠ·Π΄ΡƒΡ…Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ. НуТно ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ Π²Ρ…ΠΎΠ΄ Ρ‡ΠΈΠΏΠ° Π»ΠΈΠ±ΠΎ рСзистором Π½Π° ΠΏΠ»Π°Ρ‚Π΅, Π»ΠΈΠ±ΠΎ Π±ΠΎΠ»Π΅ элСгантным способом Π² Β«Assignments EditorΒ». Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Β«Assignment NameΒ» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Weak Pull Up resistorΒ» для Π³Ρ€ΡƒΠΏΠΏΡ‹ key* (Π³Ρ€ΡƒΠΏΠΏΠ° обозначаСтся Ρ‡Π΅Ρ€Π΅Π· Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ).

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ описаниС модуля Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСпосрСдствСнно с Π½ΠΎΠΆΠΊΠ°ΠΌΠΈ Ρ‡ΠΈΠΏΠ°, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½ΠΈΠΌ. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ мСню ΠΆΠΌΠ΅ΠΌ New, ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ «Design Files-> Block Diagram/Schematic File».

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ инструмСнт Β«Pin ToolΒ» ΠΈ располагаСм Π²Ρ…ΠΎΠ΄ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ (ΠΏΠΈΠ½Ρ‹ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°) Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ Π²Ρ…ΠΎΠ΄ ΠΊΠ°ΠΊ key[0], Π²Ρ‹Ρ…ΠΎΠ΄ ΠΊΠ°ΠΊ led[0] ΠΈ соСдиняСм ΠΈΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ. БохраняСм ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ «Start Compilation».

ПослС компиляции Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ прСдупрСТдСния, ΠΏΠΎΠΊΠ° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡ…, ΠΎΠ½ΠΈ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΈΠ½ΠΎΠ², отсутствия Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала ΠΈ описания для Β«Timing AnalyzerΒ».

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π΄Π΅ΠΌΠΎΠΏΠ»Π°Ρ‚Ρƒ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ инструмСнт Β«ProgrammerΒ». Π’ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒΡΡ Β«USB-Blaster [USB-..]Β», Ссли Π½Π΅Ρ‚ Ρ‚ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Hardware SetupΒ» ΠΈ пытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅Ρ‚, скорСС всСго Π½Π΅ установлСны Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, смотрим Π² устройства Windows, ΠΈΡ‰Π΅ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ устройства, ΠΌΠΎΠΆΠ΅Ρ‚ с ΠΊΠ°Π±Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Если всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Auto DetectΒ» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ наш Ρ‡ΠΈΠΏ.

НаТимаСм Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ Π² ΠΏΠΎΠ»Π΅ Β«FileΒ» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» для записи Π½Π° ΠŸΠ›Π˜Π‘ (Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ output_files нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°), ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π² ΠΏΠΎΠ»Π΅ Β«Program / ConfigureΒ», ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«StartΒ».

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠŸΠ›Π˜Π‘! Π”ΠΈΠΎΠ΄ D1 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ key1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³Π°ΡΠ½ΡƒΡ‚ΡŒ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° Π·Π°ΠΌΡ‹ΠΊΠ°Π΅Ρ‚ Π½ΠΎΠΆΠΊΡƒ с Π·Π΅ΠΌΠ»Π΅ΠΉ), Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ с этим Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сдСлаСм)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

НСкоторыС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠŸΠ›Π˜Π‘ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ процСссоры для своих ΠŸΠ›Π˜Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ встроСны Π² ΠŸΠ›Π˜Π‘. Π’Π΅ΠΌ самым обСспСчиваСтся ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ мСста Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ проСктирования самой ΠŸΠ›Π˜Π‘, Π·Π° счёт быстродСйствия.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

НСкоторыС сфСры примСнСния

ΠŸΠ›Π˜Π‘ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для построСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎ слоТности ΠΈ ΠΏΠΎ возмоТностям Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… устройств.

Π­Ρ‚ΠΎ прилоТСния, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ большоС количСство ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (Π±Ρ‹Π²Π°ΡŽΡ‚ ΠŸΠ›Π˜Π‘ с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 1000 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² (Β«ΠΏΠΈΠ½ΠΎΠ²Β»)), цифровая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сигнала (ЦОБ), цифровая Π²ΠΈΠ΄Π΅ΠΎΠ°ΡƒΠ΄ΠΈΠΎΠ°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π°, высокоскоростная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…, криптография, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ASIC, Π² качСствС мостов (ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²) ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ напряТСниСм питания, рСализация Π½Π΅ΠΉΡ€ΠΎΡ‡ΠΈΠΏΠΎΠ², ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Ρ‹Ρ… вычислСний.

Π’ соврСмСнных ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… ΠΈ основных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… устройствах ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² систСмС Plug and Play ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ микросхСму β€” ΠŸΠ›Π˜Π‘, которая позволяСт ΠΏΠ»Π°Ρ‚Π΅ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ свой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ список Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… рСсурсов.

Π’ΠΈΠΏΡ‹ ΠŸΠ›Π˜Π‘

Π Π°Π½Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘

Π’ 1970 Π³ΠΎΠ΄Ρƒ компания Texas Instruments Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° маскируСмыС (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ маски, Π°Π½Π³Π». mask-programmable) ИБ основанныС Π½Π° ассоциативном ΠŸΠ—Π£ (ROAM) Ρ„ΠΈΡ€ΠΌΡ‹ IBM. Π­Ρ‚Π° микросхСма, TMS2000, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ мСталличСских слоёв Π² процСссС производства ИБ. TMS2000 ΠΈΠΌΠ΅Π»Π° Π΄ΠΎ 17 Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ 18 Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² с 8-ю JK-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°ΠΌΠΈ Π² качСствС памяти. Для этих устройств компания TI Π²Π²Π΅Π»Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Programmable Logic Array(PLA) β€” программируСмая логичСская ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

PAL (Π°Π½Π³Π». Programmable Array Logic) β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ массив (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°) Π»ΠΎΠ³ΠΈΠΊΠΈ. Π’ Π‘Π‘Π‘Π  PLA ΠΈ PLM Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠŸΠ›Πœ. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ состоит Π² доступности программирования Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†) ΠŸΠ›Πœ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

CPLD (Π°Π½Π³Π». complex programmable logic device β€” слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС устройства) содСрТат ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ β€” макроячСйки, соСдинённыС с внСшними Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ шинами. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ CPLD кодируСтся Π² энСргонСзависимой памяти, поэтому Π½Π΅Ρ‚ нСобходимости ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ числа Π²Ρ…ΠΎΠ΄ΠΎΠ²/Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² рядом с большими кристаллами, ΠΈΠ»ΠΈ для ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ COM-ΠΏΠΎΡ€Ρ‚Π°, USB, VGA).

FPGA (Π°Π½Π³Π». field-programmable gate array ) содСрТат Π±Π»ΠΎΠΊΠΈ умноТСния-суммирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сигналов (DSP), Π° Ρ‚Π°ΠΊΠΆΠ΅ логичСскиС элСмСнты (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π° Π±Π°Π·Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ β€” Ρ‚Π°Π±Π»ΠΈΡ† истинности) ΠΈ ΠΈΡ… Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ. FPGA ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов, ΠΈΠΌΠ΅ΡŽΡ‚ большС логичСских элСмСнтов ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Ρ‡Π΅ΠΌ CPLD. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для FPGA хранится Π² распрСдСлённой памяти, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠ°ΠΊ Π½Π° основС энСргозависимых ячССк статичСского ΠžΠ—Π£ (ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ микросхСмы производят, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΈΡ€ΠΌΡ‹ Xilinx ΠΈ Altera) β€” Π² этом случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ сохраняСтся ΠΏΡ€ΠΈ исчСзновСнии элСктропитания микросхСмы, Ρ‚Π°ΠΊ ΠΈ Π½Π° основС энСргонСзависимых ячССк Flash-памяти ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ antifuse (Ρ‚Π°ΠΊΠΈΠ΅ микросхСмы ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ„ΠΈΡ€ΠΌΠ° Actel ΠΈ Lattice Semiconductor) β€” Π² этих случаях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сохраняСтся ΠΏΡ€ΠΈ исчСзновСнии элСктропитания. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° хранится Π² энСргозависимой памяти, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания микросхСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСн ΠΈ Π² саму FPGA. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠŸΠ›Π˜Π‘ FPGA ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ процСссоры ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов. FPGA ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ускоритСли ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… процСссоров Π² ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Cray β€” XD1, SGI β€” ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ RASC).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

FPGA. РазбираСмся, ΠΊΠ°ΠΊ устроСны ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС схСмы ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‚Ρ‹ ΡƒΠΌΠ΅Π΅ΡˆΡŒ Π²Π·Π»Π°ΠΌΡ‹Π²Π°Ρ‚ΡŒ устройства Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ свСта ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ Π²Π΅Π±-прилоТСния, Π½ΠΎ понимаСшь Π»ΠΈ Ρ‚Ρ‹, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€? И Ρ€Π΅Ρ‡ΡŒ Π½Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΊΠ°, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ garbage collector Π² Java ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ устроСн компилятор C++. Π― Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ самом Π½ΠΈΠ·ΠΊΠΎΠΌ, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π½ΠΈΠΆΠ΅ ассСмблСра: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΆΠ΅Π»Π΅Π·ΠΎ.

Π§Ρ‚ΠΎ происходит Π² микросхСмС сСтСвой ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ Ethernet? Как этот ΠΏΠ°ΠΊΠ΅Ρ‚ пСрСдаСтся дальшС Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· ΡˆΠΈΠ½Ρƒ PCI Express? Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ самыС быстрыС систСмы распознавания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅?

Для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° эти вопросы Π½Π°Π΄ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ микросхСм ASIC, Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с Π½ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΎ, ΠΈ вмСсто этого Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с FPGA.

FPGA Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ field-programmable gate array, ΠΏΠΎ-русски β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠŸΠŸΠ’Πœ. Π’ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠŸΠ›Π˜Π‘ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FPGA ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠΌ смыслС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ микросхСмы, сидя Ρƒ сСбя Π΄ΠΎΠΌΠ° с доступной ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚ΠΎΠΉ Π½Π° столС ΠΈ софтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π° ΠΏΠ°Ρ€Ρƒ килобаксов. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π΅ΡΡ‚ΡŒ ΠΈ бСсплатныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. Π—Π°ΠΌΠ΅Ρ‚ΡŒ: ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ получаСтся физичСская цифровая схСма, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для процСссора.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ. Π•ΡΡ‚ΡŒ готовая пСчатная ΠΏΠ»Π°Ρ‚Π° с Π½Π°Π±ΠΎΡ€ΠΎΠΌ интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ установлСнной Π½Π° ΠΏΠ»Π°Ρ‚Π΅ микросхСмС FPGA, Π²Ρ€ΠΎΠ΄Π΅ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ для Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ для обучСния.

Пока ΠΌΡ‹ Π½Π΅ сконфигурируСм FPGA, Π²Π½ΡƒΡ‚Ρ€ΠΈ микросхСмы просто Π½Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с интСрфСйсов, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Но Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ проСктирования Π±ΡƒΠ΄Π΅Ρ‚ создана ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°, которая послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² FPGA создаст Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ схСму. НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ 100G Ethernet, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСтСвыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

ВаТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ FPGA β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. БСгодня Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ 100G Ethernet, Π° Π·Π°Π²Ρ‚Ρ€Π° эта ΠΆΠ΅ ΠΏΠ»Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ нСзависимых Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… интСрфСйсов 25G Ethernet.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… производитСля FPGA-Ρ‡ΠΈΠΏΠΎΠ²: Xilinx ΠΈ Intel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ 58 ΠΈ 42% Ρ€Ρ‹Π½ΠΊΠ° соотвСтствСнно. ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Xilinx ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‡ΠΈΠΏ FPGA Π² Π΄Π°Π»Π΅ΠΊΠΎΠΌ 1985 Π³ΠΎΠ΄Ρƒ. Intel ΠΏΡ€ΠΈΡˆΠ»Π° Π½Π° Ρ€Ρ‹Π½ΠΎΠΊ Π½Π΅Π΄Π°Π²Π½ΠΎ β€” Π² 2015 Π³ΠΎΠ΄Ρƒ, ΠΏΠΎΠ³Π»ΠΎΡ‚ΠΈΠ² компанию Altera, которая Π±Ρ‹Π»Π° основана Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ρ‡Ρ‚ΠΎ ΠΈ Xilinx. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Xilinx ΠΈ Altera Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ схоТи, ΠΊΠ°ΠΊ ΠΈ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π§Π°Ρ‰Π΅ я Ρ€Π°Π±ΠΎΡ‚Π°Π» с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xilinx, поэтому Π½Π΅ удивляйся Π΅Π΅ постоянному ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡŽ.

FPGA ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… устройствах: ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ элСктроникС, ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠ°, ΠΏΠ»Π°Ρ‚Π°Ρ…-ускоритСлях для примСнСния Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ…, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ микросхСм ASIC. ΠŸΠ°Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² я Ρ€Π°Π·Π±Π΅Ρ€Ρƒ Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅.

Π’Π°ΠΊΠΆΠ΅ рассмотрим Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, которая обСспСчиваСт Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, познакомимся с процСссом проСктирования ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ счСтчика Π½Π° языкС Verilog. Если Ρƒ тСбя Π΅ΡΡ‚ΡŒ любая отладочная ΠΏΠ»Π°Ρ‚Π° FPGA, Ρ‚Ρ‹ смоТСшь ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ это ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если ΠΏΠ»Π°Ρ‚Ρ‹ Π½Π΅Ρ‚, Ρ‚ΠΎ всС Ρ€Π°Π²Π½ΠΎ смоТСшь ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Verilog, смодСлировав Ρ€Π°Π±ΠΎΡ‚Ρƒ схСмы Π½Π° своСм ΠΊΠΎΠΌΠΏΠ΅.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° FPGA β€” это Ρ‚Π° ΠΆΠ΅ заказная микросхСма ASIC, состоящая ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ транзисторов, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, рСгистры, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ логичСскиС элСмСнты для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… схСм. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок соСдинСния этих транзисторов, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, нСльзя. Но Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ микросхСма построСна Ρ‚Π°ΠΊΠΈΠΌ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΡŽ сигналов ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ: ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ CLB β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ выполняСт CLB. ДостигаСтся это Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ вся микросхСма ΠΏΡ€ΠΎΠ½ΠΈΠ·Π°Π½Π° ячСйками ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ памяти Static RAM. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ этой памяти Π»ΠΈΠ±ΠΎ управляСт ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ сигналов, Π»ΠΈΠ±ΠΎ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности логичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ CLB.

Π’Π°ΠΊ ΠΊΠ°ΠΊ конфигурационная ΠΏΠ°ΠΌΡΡ‚ΡŒ построСна ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Static RAM, Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания FPGA микросхСму ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, микросхСму ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ практичСски бСсконСчноС количСство Ρ€Π°Π·.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма ΠžΡ‡Π΅Π½ΡŒ упрощСнная 2D-структура микросхСмы Π±Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ памяти

Xakep #236. FPGA

Π‘Π»ΠΎΠΊΠΈ CLB находятся Π² ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅, которая Π·Π°Π΄Π°Π΅Ρ‚ соСдинСния Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² CLB.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма Π‘Ρ…Π΅ΠΌΠ° ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ пСрСсСчСнии ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² находится ΡˆΠ΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, управляСмых своими ячСйками ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ памяти. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ ΠΎΠ΄Π½ΠΈ ΠΈ закрывая Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΡƒΡŽ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΡŽ сигналов ΠΌΠ΅ΠΆΠ΄Ρƒ CLB.

CLB ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ состоит ΠΈΠ· Π±Π»ΠΎΠΊΠ°, Π·Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π±ΡƒΠ»Π΅Π²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (ΠΎΠ½Π° называСтся Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ соотвСтствия β€” Look Up Table, LUT) ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° (flip-flop, FF). Π’ соврСмСнных FPGA LUT ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠ΅ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ΠΎΠ², Π½ΠΎ Π½Π° рисункС для простоты ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚Ρ€ΠΈ. Π’Ρ‹Ρ…ΠΎΠ΄ LUT подаСтся Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ CLB Π»ΠΈΠ±ΠΎ асинхронно (Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ), Π»ΠΈΠ±ΠΎ синхронно (Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ FF, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° систСмной Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LUT

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LUT. ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ нСкоторая Π±ΡƒΠ»Π΅Π²Π° функция y = (a & b) |

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ячССк подаСтся Π½Π° свой Π²Ρ…ΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€Π° LUT, Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. CLB β€” ваТнСйший Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ рСсурс FPGA. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ CLB Π² соврСмСнных кристаллах FPGA ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΈ зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈ Смкости кристалла. Π£ Xilinx Π΅ΡΡ‚ΡŒ кристаллы с количСством CLB Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… тысяч Π΄ΠΎ Ρ‚Ρ€Π΅Ρ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ².

Помимо CLB, Π²Π½ΡƒΡ‚Ρ€ΠΈ FPGA Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ряд Π²Π°ΠΆΠ½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… рСсурсов. НапримСр, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ умноТСния с Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ DSP. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния ΠΈ слоТСния 18-Π±ΠΈΡ‚Π½Ρ‹Ρ… чисСл ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΡ‚. Π’ Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… кристаллах количСство Π±Π»ΠΎΠΊΠΎΠ² DSP ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 6000.

Π”Ρ€ΡƒΠ³ΠΎΠΉ рСсурс β€” это Π±Π»ΠΎΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти (Block RAM, BRAM). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ 2 ΠšΠ±Π°ΠΉΡ‚. Полная Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ памяти Π² зависимости ΠΎΡ‚ кристалла ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ ΠΎΡ‚ 20 ΠšΠ±Π°ΠΉΡ‚ Π΄ΠΎ 20 ΠœΠ±Π°ΠΉΡ‚. Как ΠΈ CLB, BRAM ΠΈ DSP-Π±Π»ΠΎΠΊΠΈ связаны ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ½ΠΈΠ·Ρ‹Π²Π°ΡŽΡ‚ вСсь кристалл. Бвязывая Π±Π»ΠΎΠΊΠΈ CLB, DSP ΠΈ BRAM, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ вСсьма эффСктивныС схСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ прСимущСства FPGA

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‡ΠΈΠΏ FPGA, созданный Xilinx Π² 1985 Π³ΠΎΠ΄Ρƒ, содСрТал всСго 64 CLB. Π’ Ρ‚ΠΎ врСмя интСграция транзисторов Π½Π° микросхСмах Π±Ρ‹Π»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ сСйчас, ΠΈ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… устройствах часто использовались микросхСмы «рассыпной Π»ΠΎΠ³ΠΈΠΊΠΈΒ». Π‘Ρ‹Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ микросхСмы рСгистров, счСтчиков, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ², ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ. Под ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ устройство создавалась своя пСчатная ΠΏΠ»Π°Ρ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈΡΡŒ эти микросхСмы Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

ИспользованиС FPGA ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Π”Π°ΠΆΠ΅ FPGA Π½Π° 64 CLB Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ экономит мСсто Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅, Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ устройств ΡƒΠΆΠ΅ послС изготовлСния Π²ΠΎ врСмя эксплуатации, ΠΊΠ°ΠΊ говорят Β«in the fieldΒ» (ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β€” field-programmable gate array).

Π—Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ FPGA ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ схСму (Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ рСсурсов), ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠŸΠ›Π˜Π‘ β€” это ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ микросхСм ASIC.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ASIC ΠΎΡ‡Π΅Π½ΡŒ слоТна ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Π°, Ρ†Π΅Π½Π° ошибки ΠΎΡ‡Π΅Π½ΡŒ высока, ΠΈ вопрос тСстирования Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· этапов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Ρ‰Π΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ физичСской Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ схСмы стало Π΅Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… кристаллах FPGA.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ASIC Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹, содСрТащиС ΠΌΠ½ΠΎΠ³ΠΎ FPGA, соСдинСнных ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ микросхСмы Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… частотах (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, дСсятки ΠΌΠ΅Π³Π°Π³Π΅Ρ€Ρ†), Π½ΠΎ позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° выявлСнии ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π±Π°Π³ΠΎΠ².

Однако, Π½Π° ΠΌΠΎΠΉ взгляд, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ интСрСсныС примСнСния ΠŸΠ›Π˜Π‘. Гибкая структура FPGA позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ схСмы для высокоскоростной ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

Π”Π°Π²Π°ΠΉ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ CPU, GPU, FPGA ΠΈ ASIC. CPU унивСрсалСн, Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ любой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΎΠ½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΎΠΊ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ всСго благодаря ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌΡƒ количСству языков программирования ΠΈ срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΈ этом ΠΈΠ·-Π·Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния инструкций CPU сниТаСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ энСргопотрСблСниС схСмы. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ CPU ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ инструкций, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрами ΠΈ кСшСм, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ тСлодвиТСния.

На Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС находится ASIC. На этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ рСализуСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ Π·Π° счСт прямого соСдинСния транзисторов, всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ связаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ возмоТности ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. ΠžΡ‚ΡΡŽΠ΄Π° максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ наимСньшСС энСргопотрСблСниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. А Π²ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ASIC Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ CPU находится GPU. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ эти микросхСмы Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π½ΠΎ сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ для ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³Π° вычислСний ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Они состоят ΠΈΠ· тысяч Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ядСр ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ массивом Π΄Π°Π½Π½Ρ‹Ρ….

Если Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π½Π° GPU получится Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ускорСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CPU. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ…ΡƒΠΆΠ΅, поэтому ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° оказываСтся ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ, Ρ‡Π΅ΠΌ CPU. Π’Π°ΠΊΠΆΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ GPU Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ, Π·Π½Π°Ρ‚ΡŒ OpenCL ΠΈΠ»ΠΈ CUDA.

НаконСц, FPGA. Π­Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сочСтаСт ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ASIC с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΠ›Π˜Π‘ Π½Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹, Π½ΠΎ сущСствуСт класс Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ Π½Π° CPU ΠΈ Π΄Π°ΠΆΠ΅ GPU. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ FPGA Π²Ρ‹ΡˆΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ этот Ρ€Π°Π·Ρ€Ρ‹Π² мСньшС.

Π Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ ΠΆΠ΅ прСимущСство FPGA β€” это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π΅ΠΌΠΏΠ΅ ΠΈΡ… поступлСния с минимальной Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° моТСшь Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΡƒΠΌΠ½Ρ‹ΠΉ сСтСвой ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ с большим количСством ΠΏΠΎΡ€Ρ‚ΠΎΠ²: ΠΏΡ€ΠΈ поступлСнии ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ethernet Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ мноТСство ΠΏΡ€Π°Π²ΠΈΠ», ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ€Ρ‚. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ….

ИспользованиС FPGA позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ: Π±Π°ΠΉΡ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΅Ρ‰Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² микросхСму ΠΈΠ· сСтСвого интСрфСйса, Π° Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡƒΠΆΠ΅ анализируСтся. ИспользованиС процСссоров Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Ясно, Ρ‡Ρ‚ΠΎ для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Π½ΡƒΡŽ микросхСму ASIC, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно, Π½ΠΎ Ρ‡Ρ‚ΠΎ, Ссли ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ? Π”ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ гибкости Π² сочСтании с высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ FPGA.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, FPGA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, наимСньшСС врСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ΅ энСргопотрСблСниС.

FPGA in the cloud

Π’ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вычислСниях FPGA ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для быстрого счСта, ускорСния сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ осущСствлСния доступа ΠΊ массивам Π΄Π°Π½Π½Ρ‹Ρ…. Бюда ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ отнСсти использованиС FPGA для высокочастотной Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ Π½Π° Π±ΠΈΡ€ΠΆΠ°Ρ…. Π’ сСрвСры Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ‹ FPGA с PCI Express ΠΈ оптичСским сСтСвым интСрфСйсом производства Intel (Altera) ΠΈΠ»ΠΈ Xilinx.

На FPGA ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ лоТатся криптографичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, сравнСниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π”ΠΠš ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ€ΠΎΠ΄Π΅ молСкулярной Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ. Π’ Microsoft Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ FPGA для ускорСния поискового сСрвиса Bing, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Software Defined Networking Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Π»Π°ΠΊΠ° Azure.

Π‘ΡƒΠΌ машинного обучСния Ρ‚ΠΎΠΆΠ΅ Π½Π΅ обошСл стороной FPGA. Компании Xilinx ΠΈ Intel ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ срСдства Π½Π° основС FPGA для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΌΠΈ нСйросСтями. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ FPGA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ Caffe ΠΈ TensorFlow.

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ это всС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ выходя ΠΈΠ· Π΄ΠΎΠΌΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы. НапримСр, Π² Amazon ΠΌΠΎΠΆΠ½ΠΎ Π°Ρ€Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с доступом ΠΊ ΠΏΠ»Π°Ρ‚Π΅ FPGA ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ срСдствам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΈ machine learning.

FPGA on the edge

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ интСрСсноС Π΄Π΅Π»Π°ΡŽΡ‚ Π½Π° FPGA? Π”Π° Ρ‡Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚! Π ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ°, бСспилотныС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ, Π΄Ρ€ΠΎΠ½Ρ‹, Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹, мСдицинская Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства, ΡƒΠΌΠ½Ρ‹Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ видСонаблюдСния ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ FPGA ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… сигналов (ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ с процСссорами DSP) Π² устройствах Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°Ρ… радиосигналов. Π‘ ростом ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ микросхСм ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ FPGA стали всС большС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… сигналов Β«Π½Π° ΠΊΡ€Π°ΡŽ ΠΎΠ±Π»Π°ΠΊΠ°Β» (edge computing).

Π­Ρ‚Ρƒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π»Π΅Π³Ρ‡Π΅ всСго ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ распознавания Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² машин. МоТно Π²Π·ΡΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ethernet ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС. Π‘ ростом числа ΠΊΠ°ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ расти ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° ΡΠ΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сбоям систСмы.

ВмСсто этого Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ распознаваниС Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π½Π° вычислитСлС, установлСнном прямо Π² корпус Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΎΠ±Π»Π°ΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° машин Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ тСкста. Для этого Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ FPGA с Π½ΠΈΠ·ΠΊΠΈΠΌ энСргопотрСблСниСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ аккумулятором. ΠŸΡ€ΠΈ этом остаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ FPGA, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ стандарта Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Π΄ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈ Π΄Ρ€ΠΎΠ½ΠΎΠ², Ρ‚ΠΎ Π² этой сфСрС ΠΊΠ°ΠΊ Ρ€Π°Π· особСнно Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π²Π° условия β€” высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ΅ энСргопотрСблСниС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° FPGA ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ нСльзя Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π² частности, для создания ΠΏΠΎΠ»Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² для бСспилотников. Π£ΠΆΠ΅ сСйчас Π΄Π΅Π»Π°ΡŽΡ‚ Π‘ΠŸΠ›Π, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Π»Π΅Ρ‚Ρƒ.

Как Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° FPGA?

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ проСктирования: Π½ΠΈΠ·ΠΊΠΈΠΉ, Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ высокий. Низкий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использованиС языков Ρ‚ΠΈΠΏΠ° Verilog ΠΈΠ»ΠΈ VHDL, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΡˆΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ рСгистровых ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ (RTL β€” register transfer level). Π’ этом случаС Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΡˆΡŒ рСгистры, ΠΊΠ°ΠΊ Π² процСссорС, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΡˆΡŒ логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π‘Ρ…Π΅ΠΌΡ‹ FPGA всСгда Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… частотах (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 100–300 ΠœΠ“Ρ†), ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ RTL Ρ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΡˆΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ схСмы с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ Ρ‚Π°ΠΊΡ‚Π° систСмной частоты. Π­Ρ‚Π° кропотливая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ созданию максимально эффСктивных схСм с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, потрСблСния рСсурсов кристалла FPGA ΠΈ энСргопотрСблСния. Но Ρ‚ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ скиллы Π² схСмотСхникС, Π΄Π° ΠΈ с Π½ΠΈΠΌΠΈ процСсс нСбыстрый.

На Π±Π»ΠΎΡ‡Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚Ρ‹ занимаСшься Π² основном соСдинСниСм ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, для получСния Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ‚Π΅Π±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы Π½Π° кристаллС (system-on-chip).

На высоком ΡƒΡ€ΠΎΠ²Π½Π΅ проСктирования Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΡˆΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΡ‚Π΅, вмСсто этого ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅ΡˆΡŒΡΡ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ компиляторы ΠΈΠ»ΠΈ трансляторы с языков C ΠΈ C++ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ RTL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Vivado HLS. Он довольно ΡƒΠΌΠ½Ρ‹ΠΉ ΠΈ позволяСт Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ класс Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ языками RTL β€” ускорСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ особСнно тСстирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°: ΠΊΠΎΠ΄ Π½Π° C++ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ RTL. Π—Π° удобство, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, придСтся Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ β€” схСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ быстрой ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ‚ большС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… рСсурсов.

Часто ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ эту Ρ†Π΅Π½Ρƒ: Ссли Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ транслятор, Ρ‚ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π΅ сильно пострадаСт, Π° рСсурсов Π² соврСмСнных FPGA достаточно. Π’ нашСм ΠΌΠΈΡ€Π΅ с ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ time to market это оказываСтся ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½Ρ‹ΠΌ.

Часто Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Ρ‚Ρ€ΠΈ стиля Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² Ρ€ΠΎΠ±ΠΎΡ‚Π° ΠΈ Π½Π°Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠ΅ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ микросхСму видСосСнсора ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π΅Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ FPGA. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ HDMI, Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ FPGA.

ΠšΠ°Π΄Ρ€Ρ‹ с ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² FPGA ΠΏΠΎ интСрфСйсу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ сСнсора (USB Ρ‚ΡƒΡ‚ Π½Π΅ ΠΊΠ°Ρ‚ΠΈΡ‚), ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°Π΄Ρ€ΠΎΠ² понадобится Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π²ΠΎ внСшнСй памяти DDR, установлСнной Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ рядом с микросхСмой FPGA.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма Випичная Π±Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FPGA

Если ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ видСосСнсора Π½Π΅ прСдоставляСт Interface IP для нашСй микросхСмы FPGA, Ρ‚ΠΎ Π½Π°ΠΌ придСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° языкС RTL, считая Ρ‚Π°ΠΊΡ‚Ρ‹, Π±ΠΈΡ‚Ρ‹ ΠΈ Π±Π°ΠΉΡ‚Ρ‹ Π² соотвСтствии со спСцификациСй ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»ΠΎΠΊΠΈ Preprocess, DDR Controller ΠΈ HDMI IP ΠΌΡ‹, скорСС всСго, возьмСм Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈ просто соСдиним ΠΈΡ… интСрфСйсы. А Π±Π»ΠΎΠΊ HLS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт поиск ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° C++ ΠΈ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Vivado HLS.

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π½Π°ΠΌ Π΅Ρ‰Π΅ потрСбуСтся какая-Ρ‚ΠΎ готовая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈ классификатора Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ², адаптированная для использования Π² FPGA. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ сильно ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ Π±Π»ΠΎΠΊ-схСму Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

Рассмотрим ΠΏΡƒΡ‚ΡŒ проСктирования ΠΎΡ‚ написания ΠΊΠΎΠ΄Π° RTL Π΄ΠΎ получСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² FPGA.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ плис микросхСма ΠŸΡƒΡ‚ΡŒ проСктирования

Π˜Ρ‚Π°ΠΊ, Ρ‚Ρ‹ пишСшь ΠΊΠΎΠ΄ RTL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ‚Π΅Π±Π΅ схСму. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅, Π½Π°Π΄ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ RTL-ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² симуляторС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π’Ρ‹ Π±Π΅Ρ€Π΅ΡˆΡŒ свою схСму, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ΄Π΅ RTL, ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΡˆΡŒ Π΅Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ стСнд, Π³Π΄Π΅ подаСшь ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… сигналов Π½Π° Π²Ρ…ΠΎΠ΄Ρ‹ схСмы, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΡˆΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, зависимости ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅ΡˆΡŒ с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡˆΡŒ ошибки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΡˆΡŒΡΡ ΠΊ написанию RTL.

Π”Π°Π»Π΅Π΅ логичСски Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ подаСтся Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-синтСзатору. Она ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ тСкстовоС описаниС схСмы Π² связанный список Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… элСмСнтов ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, доступной для Π΄Π°Π½Π½ΠΎΠ³ΠΎ кристалла FPGA. Π’ этом спискС Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΊΠ°ΠΊ LUT, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. На этой стадии элСмСнты ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ рСсурсам. Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, трСбуСтся Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° схСму ограничСния (Constraints) β€” Π² частности, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΈΠΌΠΈ физичСскими ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° микросхСмы FPGA связаны логичСскиС Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ Ρ‚Π²ΠΎΠ΅ΠΉ схСмы.

Π’ этих ограничСниях Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΈΡ… Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… частотах Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ схСма. Π’Ρ‹Ρ…ΠΎΠ΄ синтСзатора ΠΈ Ρ„Π°ΠΉΠ» ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ процСссору Implementation, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, занимаСтся Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΈ трассировкой (Place and Route).

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Place ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠΊΠ° Π΅Ρ‰Π΅ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ элСмСнт ΠΈΠ· netlist привязываСт ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту Π²Π½ΡƒΡ‚Ρ€ΠΈ микросхСмы FPGA. Π”Π°Π»Π΅Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСсс Route, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ соСдинСниС этих элСмСнтов для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠŸΠ›Π˜Π‘.

Place ΠΈ Route Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚, исходя ΠΈΠ· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π½Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π½Π°ΠΌΠΈ Π½Π° схСму: ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΎΡ‡Π΅Π½ΡŒ сильно влияСт Π½Π° Implementation: ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ мСньшС, Ρ‡Π΅ΠΌ врСмСнная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° логичСских элСмСнтах Π² критичСской Ρ†Π΅ΠΏΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°ΠΌΠΈ.

Часто сразу ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ это Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ удаСтся, ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ этап ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ RTL: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² критичСской Ρ†Π΅ΠΏΠΈ. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Implementation Π½Π°ΠΌ извСстно, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Π³Π΄Π΅ находятся ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ связаны.

Волько послС этого запускаСтся процСсс создания Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ FPGA. ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΆΠ΅Π»Π΅Π·ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидалось. Если Π½Π° этом этапС Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈ Π½Π° этом этапС Π½Π΅ Π±Ρ‹Π»ΠΈ устранСны всС ошибки ΠΈ Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚Ρ‹.

МоТно Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ симуляции ΠΈ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π° Ссли ΠΈ это Π½Π΅ сработаСт, Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ случай прСдусмотрСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ нСпосрСдствСнно Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΆΠ΅Π»Π΅Π·Π΅. Π’Ρ‹ моТСшь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ сигналы Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сгСнСрируСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ схСму логичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, которая размСщаСтся Π½Π° кристаллС рядом с Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ схСмой, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΌ тСбя сигналам ΠΈ сохраняСт ΠΈΡ… значСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½ΡƒΠΆΠ½Ρ‹Ρ… сигналов ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ высокоуровнСвыС срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (HLS, High-level synthesis), ΠΈ Π΄Π°ΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для создания нСйросСтСй Π² ΠŸΠ›Π˜Π‘. Π­Ρ‚ΠΈ срСдства Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ гСнСрят ΠΊΠΎΠ΄ RTL Π½Π° языках VHDL ΠΈΠ»ΠΈ Verilog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дальшС спускаСтся ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Synthesis β†’ Implementation β†’ Bitstream generation. Ими Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… эффСктивно, Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ хотя Π±Ρ‹ минимальноС прСдставлСниС ΠΎ языках уровня RTL.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт

НадСюсь, тСория тСбя Π½Π΅ слишком Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»Π°! Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅: ΠΌΡ‹ посмотрим, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ FPGA.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *