8-900-374-94-44
[email protected]
Slide Image
МСню

Плис ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… – ΠŸΠ›Π˜Π‘. Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ. / ΠŸΠ›Π˜Π‘ / БообщСство EasyElectronics.ru

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

Как ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹ Altera

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π² ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹ Altera ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Quartus II.

Π’Π°ΠΌ понадобится

  • ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹ Altera;
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ USB-Blaster;
  • ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ со срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Quartis ii.

1НазначСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Quartus II

Π’ мСню Assignements Device… Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠŸΠ›Π˜Π‘, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Β«Π·Π°Π»ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ Device Family Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сСмСйство, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится ваша ΠŸΠ›Π˜Π‘. Π’ ΠΏΠΎΠ»Π΅ Available devices Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ модСль вашСй ΠŸΠ›Π˜Π‘. Π£ мСня, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это Cyclone II, модСль EP2C5T144C8.

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ сСмСйство ΠΈ модСль ΠŸΠ›Π˜Π‘ Π² ΠΎΠΊΠ½Π΅ Device

Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ Show in «Available devices» list ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ устройства ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ корпуса (Package) ΠΈΠ»ΠΈ ΠΏΠΎ количСству Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² (Pin count), Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстрСС Π½Π°ΠΉΡ‚ΠΈ Π²Π°ΡˆΡƒ модСль ΠŸΠ›Π˜Π‘.

НСлишним Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ состоянии Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π½ΠΎΠΆΠΊΠΈ ΠŸΠ›Π˜Π‘. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ

Device and Pin Options…, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Unused Pins, ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ состояниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ².

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ состояния нСзадСйствованных Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π»ΠΈ модСль ΠŸΠ›Π˜Π‘, Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Device, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ OK.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ синтСзатор сам Π½Π°Π·Π½Π°Ρ‡ΠΈΠ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ большС Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. А для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠŸΠ›Π˜Π‘, ΠΈΠ΄Ρ‘ΠΌ Π² мСню Assignements Pin Planner ΠΈΠ»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ сочСтаниС клавиш Ctrl+Shift+N.

Запуск инструмСнта назначСния Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Pin Planner

Запустится инструмСнт назначСния Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Pin Planner. Π’Π½ΠΈΠ·Ρƒ отобраТаСтся список ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΈΠ½ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Node Name.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Pin Planner ΠΈ список Π²Π²ΠΎΠ΄ΠΎΠ²-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠŸΠ›Π˜Π‘

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² столбцС Location Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ². Π”Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ячСйкС ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΠΌ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½ΠΎΠΌΠ΅Ρ€. НомСра Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ вашСй ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹. НапримСр, Π² ΠΌΠΎΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Π΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ CLK, согласно ΠΌΠ°Π½ΡƒΠ°Π»Ρƒ, Π½Π° 17 Π²Ρ‹Π²ΠΎΠ΄Π΅, Π° Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌ OUT1…OUT5 я Π½Π°Π·Π½Π°Ρ‡Ρƒ свободныС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ 94, 97, 100, 103 ΠΈ 93.

НазначаСм соотвСтствиС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠŸΠ›Π˜Π‘ сигналам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, ΠΎΠΊΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΏΠΈΠ½ΠΎΠ² Pin Planner ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ скомпилируйтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: Processing Start Compilation ΠΈΠ»ΠΈ Ctrl+L.

ЗапускаСм ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Quartus II

2Установка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° USB Blaster

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ USB Blaster ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ (Ссли Ρƒ вас Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ приобрСсти Π½Π° Али-ЭкспрСсс). ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. Он устанавливаСтся стандартным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ находится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠšΠ²Π°Ρ€Ρ‚ΡƒΡΠ°, Π² ΠΏΠ°ΠΏΠΊΠ΅ drivers: C:\altera\13.0sp1\quartus\drivers

Установка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° USB Blaster

ПослС установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² диспСтчСрС устройств ΠΊΠ°ΠΊ Altera USB-Blaster.

3Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс JTAG

ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹ Altera ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ нСсколько Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² программирования. Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠŸΠ›Π˜Π‘ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс JTAG. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ ΠΊ Ρ€Π°Π·ΡŠΡ‘ΠΌΡƒ JTAG Π½Π° ΠΏΠ»Π°Ρ‚Π΅ с ΠŸΠ›Π˜Π‘.

Запустим инструмСнт для программирования: Tools Programmer.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Для этого Π½Π°ΠΆΠΌΡ‘ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Hardware Setup… ΠΈ Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ USB Blaster. Π—Π°ΠΊΡ€ΠΎΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ

Hardware Setup.

Настройка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°

Π’ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Programmer Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Auto Detect, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Quartus попытался автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΡƒΡŽ ΠŸΠ›Π˜Π‘ ΠΈ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ *.sof.

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ создаётся ΠšΠ²Π°Ρ€Ρ‚ΡƒΡΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ компиляции ΠΈ сохраняСтся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ output_files, Ссли Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅.

Π’ ΠΎΠΊΠ½Π΅ Programmer Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ JTAG, установитС Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Program/Configure ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Start. ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ записана Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠŸΠ›Π˜Π‘ Ρ‡Π΅Ρ€Π΅Π· JTAG

4Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Active Serial

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»Π°ΡΡŒ Π² ΠŸΠ—Π£, запишСм ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Active Serial.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ кабСль ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΊ Ρ€Π°Π·ΡŠΡ‘ΠΌΡƒ AS ΠΈΠ»ΠΈ Active Serial. ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ:

Tools Programmer.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ Mode Active Serial. Π‘ΠΎΠ³Π»Π°ΡˆΠ°ΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π½Π° ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‰ΠΈΠΉ вопрос.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Add File… Π’ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° output_files Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .pof.

ДобавляСм Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Active Serial

ПослС открытия Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, установитС Π³Π°Π»ΠΎΡ‡ΠΊΠΈ Program/Configure ΠΈ, ΠΏΠΎ ТСланию,ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠŸΠ›Π˜Π‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Active Serial

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ памяти Π² столбцС Device: ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡƒ памяти, которая установлСна Ρƒ вас Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Start для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ осциллографа Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠŸΠ›Π˜Π‘

Для прСобразования ΠΈ настройки Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ сущСствуСт инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доступСн ΠΈΠ· мСню File Convert Programming Files….

soltau.ru

БхСмотСхничСскоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΠŸΠ›Π˜Π‘ / ΠŸΠ›Π˜Π‘ / БообщСство EasyElectronics.ru

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠŸΠ›Π˜Π‘ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (VHDL, Verilog) ΠΈΠ»ΠΈ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ схСму устройства Π½Π° дискрСтных логичСских элСмСнтах. ΠŸΡ€ΠΎ языки ΡƒΠΆΠ΅ писали, Π½ΠΎ ΠŸΠ›Π˜Π‘ это Π½Π°Π±ΠΎΡ€ логичСских ячССк, Ρ€Π°Π½ΡŒΡˆΠ΅ это Π±Ρ‹Π»ΠΈ элСмСнты 2И-НЕ, сСйчас ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ соСдинСны, Π° ΠΏΠΎΡ‚ΠΎΠΌ, Π² зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ микросхСмы строится Π½Π΅ΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ Π»ΠΎΠ³ΠΈΠΊΠΈ, Ρ‚. Π΅. ΠΊΠΎΠ΄ Π½Π° языкС программирования прСобразовываСтся Π² Π½Π°Π±ΠΎΡ€ Π»ΠΎΠ³ΠΈΠΊΠΈ. Π’Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ сразу Π½Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ Π»ΠΎΠ³ΠΈΠΊΠΈ?

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π° сСйчас ΠΏΡ€ΠΎ схСмотСхничСскоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² срСдС Quartus II.

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ я ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° VHDL ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ UART ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ Π½Π° VHDL Π½Π° Π½Π°Π±ΠΎΡ€ Π»ΠΎΠ³ΠΈΠΊΠΈ.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, создаСм Ρ„Π°ΠΉΠ» схСматичСского описания
File->New->Block Diagram/Schematic File

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм схСмы Π»ΡƒΡ‡ΡˆΠ΅ всС Π½Π°Ρ‡Π΅Ρ€ΠΊΠ°Ρ‚ΡŒ Π½Π° Π±ΡƒΠΌΠ°ΠΆΠΊΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ логичСский элСмСнт ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ элСмСнта 2И (Symbol Tool), появляСтся окошко

ΠŸΠΎΠΊΠ»Π°Ρ†Π°ΠΉΡ‚Π΅, посмотритС Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. Π‘ΠΎΠ»Π΅Π΅ интСрСсным Π±ΡƒΠ΄Π΅Ρ‚ MegaWizard Plug-In Manager.

ЗапускаСм, ΠΆΠΌΠ΅ΠΌ Next. ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ мноТСство Β«ΠΌΠ΅Π³Π°Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉΒ» ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ сСбя, Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠΊΠ»Π°Ρ†Π°ΠΉΡ‚Π΅ (Ссли Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π³Π°Ρ„ΡƒΠ½ΠΊΠΈΠΈ сСроС, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½Π° Π½Π΅ поддСрТиваСтся Π² вашСй микросхСмС). ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Ρƒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ счСтчика.

Π–ΠΌΠ΅ΠΌ Next

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

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапах Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΆΠΌΠ΅ΠΌ Finish, соглашаСмся. ПослС этого наш счСтчик появляСтся Π² ΠΏΠ°ΠΏΠΊΠ΅ Project.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π½Π° схСмС, выдСляСм Π΅Π³ΠΎ, Π·Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Ctrl ΠΈ пСрСтаскиваСм.

Π£ мСня ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ такая схСма

(ΠΊΠ»ΠΈΠΊΠ°ΠΉΡ‚Π΅)

ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° VHDL Π² асинхронном ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ старта ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ

(здСсь Π»ΠΎΠ²ΠΈΠΌ спад ΠΎΡ‚ 1 Π΄ΠΎ 0 ΠΏΡ€ΠΈ отсутствии Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика)
Π’Π°ΠΊΠΆΠ΅ Π² асинхронном сбросС ΠΏΡ€ΠΈ отсутствии старт-Π±ΠΈΡ‚Π° ΠΈ окончания ΠΏΡ€ΠΈΠ΅ΠΌΠ°.

НайдСм соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ VHDL ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ схСмой устройства.
(соСдинСния с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² названиям ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя соСдинСнию, Π½Π° Π½Π΅ΠΌ ΠΆΠΌΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ->Properties, Π² ΠΏΠΎΠ»Π΅ Name Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π° схСмС ΠΌΠ½ΠΎΠ³ΠΎ соСдинСний. Для ΡˆΠΈΠ½Ρ‹ Π½ΠΎΠΌΠ΅Ρ€ Π±ΠΈΡ‚Π° вписываСтся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках)

Π­Ρ‚ΠΎ соотвСтствуСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ этому ΠΊΠΎΠ΄Ρƒ

if (counter = 8) then
case (state) is
	when 0 =>
		if (rx = '0') then	-- провСряСм старт-Π±ΠΈΡ‚
			state := 1;	
		else state := 0;
			count <= '0';
		end if;
	when 1 => data(0) := rx;	-- Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π±ΠΈΡ‚
		state := 2;
	when 2 => data(1) := rx;
		state := 3;
	when 3 => data(2) := rx;
		state := 4;
	when 4 => data(3) := rx;
		state := 5;
	when 5 => data(4) := rx;
		state := 6;
	when 6 => data(5) := rx;
		state := 7;
	when 7 => data(6) := rx;
		state := 8;
	when 8 => data(7) := rx;
		state := 9;
	when 9 => state := 0;
		count <= '0';
		if (rx = '1') then		-- провСряСм стоп-Π±ΠΈΡ‚
			data_out <= data;	-- Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅
		end if;
end case;

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ counter это счСтчик counter_16, ΠΊΠΎΠ³Π΄Π° счСтчик досчитаСт Π΄ΠΎ 8, Ρ‡Ρ‚ΠΎ соотвСтствуСт 1000 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС, счСтчик counter_12 ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. counter_12 соотвСтствуСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ state, вмСстС с

16 BIT DEMUX ΠΎΠ½ составляСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case. ΠŸΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ counter_12 ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€Π° 16 BIT DEMUX, Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… (ΠΏΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π°ΠΌ) Π·Π°Ρ‰Π΅Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, эти Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ data.


Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° стоп-Π±ΠΈΡ‚, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ соотвСтствуСт этому ΠΊΠΎΠ΄Ρƒ

if (rx = '1') then		-- провСряСм стоп-Π±ΠΈΡ‚
	data_out <= data;	-- Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅
end if;

Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€

БоотвСтствуСт этому ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡŽ

data_out <= data;

Π§Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ MAX II ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ частоты.

uart.rar

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ вопросС.
ВсС это я Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈ спортивного интСрСса послС этого сообщСния http://we.easyelectronics.ru/plis/osvoenie-plis-s-ispolzovaniem-yazyka-verilog.html#comment1938. Π‘Π½Π°Ρ‡Π°Π»Π° я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» Ρ‡Ρ‚ΠΎ описаниС Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивноС Ρ‡Π΅ΠΌ Π½Π° VHDL (ΠΌΠ°Π»ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠ°Ρ€Ρ‚Π°Ρ‡ΠΈΡ‚ΡŒ), Π½ΠΎ оказалось Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° VHDL Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² кристаллС 41 логичСский элСмСнт, Π° схСмотСхничСскоС описаниС – 39, я это ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽ с асинхронным ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ старта ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

ВрСмя написания ΠΊΠΎΠ΄Π° ΠΈ составлСния схСмы ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ написаниСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС описании Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π΅Ρ‚Π΅ устройство ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС прСвратятся Π² логичСскиС элСмСнты Π²Π½ΡƒΡ‚Ρ€ΠΈ кристалла.

we.easyelectronics.ru

ΠŸΠ›Π˜Π‘ (FPGA) ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°? β€” ΠœΠΈΠΊΡ€ΠΎΠŸΡ€ΠΎΠ³Π΅Ρ€

Β 

Altera-Cyclone and Arduino

Β 

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Π΅Ρ€ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ этапС своСго развития задаСтся вопросом Π² Ρ‡Π΅ΠΌ ΠΆΠ΅ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠ›Π˜Π‘ (Ρ„ΠΈΡ€ΠΌ Altera ΠΈΠ»ΠΈ Xilinx) ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ (микропроцСссором)?

Π§ΠΈΡ‚Π°Π΅ΡˆΡŒ Ρ„ΠΎΡ€ΡƒΠΌΡ‹ β€”Β Π·Π½Π°Ρ‚ΠΎΠΊΠΈ Π΄Π΅Π»Π°Β ΠΏΠΈΡˆΡƒΡ‚, Ρ‡Ρ‚ΠΎ это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ, аргумСнтируя это Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΒ Ρƒ Π½ΠΈΡ… разная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π§ΠΈΡ‚Π°Π΅ΡˆΡŒ ΠΌΠ°Π½ΡƒΠ°Π» ΠΏΠΎ Verilog ΠΈΠ»ΠΈ C++ β€”Β  ΠΈ Ρ‚ΠΎΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ со схоТим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, даТС синтаксис ΠΏΠΎΡ…ΠΎΠΆ,Β Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ€Π°Π·Π½Ρ‹Π΅? Π—Π°Ρ…ΠΎΠ΄ΠΈΡˆΡŒ Π½Π° марсоход  β€” Ρ‚Π°ΠΌ свСтодиодами (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ просто Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ) с  ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FPGAΒ ΠΌΠΎΡ€Π³Π°ΡŽΡ‚, ΡΠΌΠΎΡ‚Ρ€ΠΈΡˆΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° Arduino β€” Ρ‚Π°ΠΌ Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚. Π‘Ρ‚ΠžΠΏ!

А Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ остановимся и спросим сСбя: ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΡΒ ΠŸΠ›Π˜Π‘ β€”Β Ρ‚ΡƒΠΏΠΎ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ°, Π° Ардуино β€” ΡƒΠΌΠ½ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚? Π’Π΅Π΄ΡŒ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ устройство, Π½Π΅ΡƒΠΆΠ΅Π»ΠΈ Ρƒ ΠŸΠ›Π˜Π‘Β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ для робота нС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚?

Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни ΡΡƒΡ‚ΡŒ вопроса  Β«Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠ›Π˜Π‘ ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ?Β» раскрываСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ сразу. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠŸΠ›Π˜Π‘Β ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ уступаСт ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΡƒΒ (ΠΈ микропроцСссору, кстати, Ρ‚ΠΎΠΆΠ΅), Ρ‚ΠΎΡ‡Π½Π΅Π΅Β β€”Β  основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎ сути идСнтичны β€” Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ логичСскиС 0 ΠΈΠ»ΠΈ 1Β  ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях, Π° Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ быстродСйствии, количСствС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²(Π½ΠΎΠΆΠ΅ΠΊ) ΠΈ возмоТностях ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π΄ΠΎ ΠŸΠ›Π˜Π‘Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄Π°Π»Π΅ΠΊΠΎ. Но Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Β«Π½ΠΎΒ». ВрСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… устройствах (ΠŸΠ›Π˜Π‘ ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) различаСтся Π² Ρ€Π°Π·Ρ‹, Π° Ρ‚ΠΎ ΠΈ Π² дСсятки Ρ€Π°Π·. ИмСнно ΠŸΠ›Π˜Π‘ здСсь Π² 99% случаСв  сильно уступаСт МК. И Π΄Π΅Π»ΠΎ вовсС нС в заморочСнности языков Verilog, VHDL ΠΈΠ»ΠΈΒ AHDL, Π° Π² устройствС самой ΠŸΠ›Π˜Π‘.

Β 

FPGA: Π² ΠŸΠ›Π˜Π‘ ΠΈ  нСт слоТных Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…Β Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ(Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΡ… Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° вас). Π•ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹Π΅ трассы и магистрали,Β  Π²Ρ…ΠΎΠ΄Ρ‹, Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹, логичСскиС Π±Π»ΠΎΠΊΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈ памяти. Π‘Ρ€Π΅Π΄ΠΈ трасс Π΅ΡΡ‚ΡŒ особый класс β€” трасса для тактирования(привязанная ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½ΠΎΠΆΠΊΠ°ΠΌ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСкомСндуСтся ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту).

Основной состав:

Врасса β€” ΠΌΠ΅Ρ‚Π°Π»Π», напаянный Π½Π° слои микросхСмы, являСтся ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ элСктричСства ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Π‘Π»ΠΎΠΊΠΈ β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ мСста Π² ΠΏΠ»Π°Ρ‚Π΅, состоящиС ΠΈΠ· ячССк. Π‘Π»ΠΎΠΊΠΈ слуТат для запоминания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, умноТСния, слоТСния и логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ сигналами Π²ΠΎΠΎΠ±Ρ‰Π΅.

Π―Ρ‡Π΅ΠΉΠΊΠΈ β€” Π³Ρ€ΡƒΠΏΠΏΡ‹Β ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ† Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков транзисторов.

Вранзистор β€” основной элСмСнт Π’Π’Π› Π»ΠΎΠ³ΠΈΠΊΠΈ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹ (Π½ΠΎΠΆΠΊΠΈ микросхСмы)Β β€” Ρ‡Π΅Ρ€Π΅Π· Π½ΠΈΡ… происходит ΠΎΠ±ΠΌΠ΅Π½ ΠŸΠ›Π˜Π‘ с ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌ ΠΌΠΈΡ€ΠΎΠΌ. Π•ΡΡ‚ΡŒ Π½ΠΎΠΆΠΊΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты, питания, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½ΠΎΠΆΠΊΠΈ, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. И ΠΈΡ…, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ,Β Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π’Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ β€” внСшняя микросхСма, Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основываСтся большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠŸΠ›Π˜Π‘.

Β 

Врассы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ Π±Π»ΠΎΠΊΠ°ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… КМОП-транзисторов. Π­Ρ‚ΠΈ транзисторы способны ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ своС состояниС(ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅) Π½Π° протяТСнии Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ состояниС транзистора ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ сигнала ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ трассС, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠŸΠ›Π˜Π‘. Π’.Π΅., Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈΒ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π°Ρ‡Π° напряТСния Π½Π°Β Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€Β ΠšΠœΠžΠŸ-транзисторов. Π­Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ опрСдСляСтся ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ происходит слоТноС построСниС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ сСти трасс ΠΈ магистралСй Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠŸΠ›Π˜Π‘, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ слоТным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство логичСских Π±Π»ΠΎΠΊΠΎΠ². Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ описываСтС ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° соСдиняСт ΠΌΠ΅ΠΆΠ΄Ρƒ собой элСмСнты, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ описываСтС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΈΠ³Π½Π°Π»Ρ‹ Π±Π΅Π³Π°ΡŽΡ‚ ΠΏΠΎ трассС ΠΎΡ‚ Π±Π»ΠΎΠΊΠ° ΠΊ Π±Π»ΠΎΠΊΡƒ. А слоТный ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ задаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

АрхитСктура ΠŸΠ›Π˜Π‘ (FPGA)

Β 

Β 

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

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠŸΠ—Π£)Β β€” ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’ Π½Π΅Π΅ входят Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ дСйствий ΠΈ константы. А Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ(Π½Π°Π±ΠΎΡ€Ρ‹) ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠžΠ—Π£) β€” ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ…(ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹Β Π² ΠŸΠ›Π˜Π‘). НапримСр, ΠΏΡ€ΠΈ вычислСнии Π² нСсколько дСйствий. Допустим, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π΅ число Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅(1-Π΅ дСйствиС),Β Π·Π°Ρ‚Π΅ΠΌ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅(2 дСйствиС)Β ΠΈ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚(3 дСйствиС). Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ этом занСсСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β 1 дСйствия Π½Π° врСмя выполнСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π·Π°Ρ‚Π΅ΠΌ Π²Π½Π΅ΡΠ΅Ρ‚ΡΡΒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β 2 дСйствия. А Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π° этих Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠΎΠΉΠ΄ΡƒΡ‚ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти на вычислСниС 3 дСйствия.

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

БрСдства (ΠΏΠΎΡ€Ρ‚Ρ‹) Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° β€”Β Π½ΠΎΠΆΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для взаимодСйствия с внСшним ΠΌΠΈΡ€ΠΎΠΌ.

Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ β€” Π±Π»ΠΎΠΊΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для подсчСта количСства Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΡˆΠΈΠ½Ρ‹ β€” Π±Π»ΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ΅ΠΆΠ΄Ρƒ всСм Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Он ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы, посылаСт ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΈ упорядочиваСт ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ кристалла.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ β€” Π±Π»ΠΎΠΊ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ запросы Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств. Запрос Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ β€” сигнал ΠΎΡ‚ внСшнСго устройства, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ магистрали β€” трассы, ΠΏΡ€ΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Π’Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ β€” внСшняя микросхСма, Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основываСтся вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Β 

Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠŸΠ›Π˜Π‘, Ρ€Π°Π±ΠΎΡ‚Π° происходит ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΡƒΡŽ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽΒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ опираСтся вся Ρ€Π°Π±ΠΎΡ‚Π° МК.

АрхитСктура ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Β 

Β 

ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΆΠ΅Π»Π΅Π·Π°, практичСски ΠΏΠΎ всСй ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ кристалла.Β Π‘ΠΈΠ³Π½Π°Π»Ρ‹ проходят Ρ‡Π΅Ρ€Π΅Π· слоТныС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ транзисторов. ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΆΠ΅Π»Π΅Π·Π°, сигналы проходят Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ, ΠΎΡ‚ Π±Π»ΠΎΠΊΠ° ΠΊ Π±Π»ΠΎΠΊΡƒ β€” ΠΎΡ‚ памяти ΠΊ процСссору, ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊ процСссору, ΠΎΡ‚ процСссору ΠΊ ΠΏΠΎΡ€Ρ‚Π°ΠΌ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΡ‚ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти… ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Ρ‹Π²ΠΎΠ΄: Π·Π° счСт Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠŸΠ›Π˜Π‘ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² быстродСйствии ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… возмоТностях ΠΊΠΎΠ½Π²Π΅Π΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, МК Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ в простотС написания алгоритмов. Π—Π° счСт Π±ΠΎΠ»Π΅Π΅ простого способа описания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, фантазия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠ΅Π½Π΅Π΅ скованна Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, врСмя Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚Π° Π½Π° МК ΠΈ ΠŸΠ›Π˜Π‘ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ‹. Однако Ρ€ΠΎΠ±ΠΎΡ‚, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠŸΠ›Π˜Π‘ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΡƒΡΡ‚Ρ€Π΅Π΅, Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΡ€Π½Π΅Π΅.

Β 

Π’ ΠŸΠ›Π˜Π‘ Π²ΡΡŽΒ Ρ€Π°Π±ΠΎΡ‚ΡƒΒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ самому, Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ: для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠŸΠ›Π˜Π‘,Β  Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΡƒ, приходящСму Π² ΠŸΠ›Π˜Π‘, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΈ Π² ячСйки памяти, ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ этим ячСйкам памяти обратился Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ отслСТиваСтС ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π½Π°Π±ΠΎΡ€Β ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΎΠ², Π·Π°Π΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹ΠΉ Π² памяти задСйствовал нуТный Π²Π°ΠΌΒ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽΒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ Π½ΠΎΠΆΠΊΡƒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ свСтодиодик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊ Π½Π΅ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½. Π§Π°ΡΡ‚ΡŒ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΎΠ² ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° запуск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°(ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹). Π’ΠΎ Π΅ΡΡ‚ΡŒ, говоря языком ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Π΅Ρ€Π°, эти Π½ΠΎΠΆΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ адрСсными. НапримСр, Β ΠΈΠΌΠ΅Π΅ΠΌΒ  Π½Π° нашСй ΠΏΠ»Π°Ρ‚Π΅ Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Ρ€ΠΈ адрСсныС ноТки Π΄Π»ΡΒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΈΡ… Π½Π΅ связанных(ΠΈΠ»ΠΈ связанных) Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π½Π° языкС VerilogΒ Π² ΠŸΠ›Π˜Π‘. Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Ρ€Π΅Ρ… адрСсных Π½ΠΎΠΆΠ΅ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 20 ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ…Β Π½ΠΎΠΆΠ΅ΠΊ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Β Π½Π°Π±ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΎΠ²(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ€Π°Π·Π½Ρ‹Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²) с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π²ΠΎΠ΄Ρ‹ Π² Π°ΠΊΠ²Π°Ρ€ΠΈΡƒΠΌΠ΅ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π²ΠΎΠ΄Ρ‹ Π² Π°ΠΊΠ²Π°Ρ€ΠΈΡƒΠΌΠ΅). 20 Π½ΠΎΠΆΠ΅ΠΊ = 20 Π±ΠΈΡ‚. 3 Π½ΠΎΠΆΠΊΠΈ -3 Π±ΠΈΡ‚Π°.  Когда ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ адрСсный сигнал  001(с Ρ‚Ρ€Π΅Ρ… Π½ΠΎΠΆΠ΅ΠΊ адрСса) β€” запускаСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉΒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСт 20 ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΎΠ² Π² 20 ячССк памяти(20Β  Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ²), Π·Π°Ρ‚Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅Β 20 ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊΠΎΠ²Β ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ 20, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ умноТСния записываСм Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ отсылаСм ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π½ΠΎΠΆΠΊΠ°ΠΌ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² тСрморСгулятор Π²ΠΎΠ΄Ρ‹ Π² Π°ΠΊΠ²Π°Ρ€ΠΈΡƒΠΌΠ΅. Но ΠžΡ‚ΠΎΡˆΠ»Π΅ΠΌ ΠΌΡ‹ этот Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π° наши адрСсныС Π½ΠΎΠΆΠΊΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€Β 011 ΠΈ запустит Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ считывания ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Ну, СстСствСнно «отсылаСм», «считываСм» ΠΈΒ Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ прописываСм Π² Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π’Π΅Π΄Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠΈΠ³Π½Π°Π»ΡŒΡ‡ΠΈΠΊ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠŸΠ›Π˜Π‘ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ, Π½Π΅ тСряСм. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ»ΠΈ записываСм. Π‘ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΒ ΠΈΠ»ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ. НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сигнал ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹.Β  Π•Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅Β ΡΡŽΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½Π½ΡƒΡŽΒ ΠΊ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ (которая Ρ‚Π°ΠΊ ΠΆΠ΅ рСализуСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ), Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ‹Π΅ ошибки Π½Π° этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΒ ΠΊΡƒΡ‡Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ просто бСссмыслСнно. Π’Ρ€ΡƒΠ΄Π½ΠΎ. Π”ΠΎΠ»Π³ΠΎ. Но Π·Π°Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ супСр опСративно, Π±Π΅Π· глюков ΠΈΒ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ². Π–Π΅Π»Π΅Π·Π½ΠΎ!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. 20 Π½ΠΎΠΆΠ΅ΠΊ Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² физичСски нСвозмоТная Π·Π°Π΄Π°Ρ‡Π°. А Π²ΠΎΡ‚ 8 ΠΈΠ»ΠΈ 16 β€” Π΄Π° поТалуйста! 3 ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… β€” Π² Π»Π΅Π³ΠΊΡƒΡŽ! ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? По адрСсу 001 ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π΅ число Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅, ΠΏΠΎ адрСсу 011 отсылай Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² тСрморСгулятор. ВсС! Быстро. Π›Π΅Π³ΠΊΠΎ. НС супСр, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ. Если ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ- Π±Π΅Π· глюков ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ². ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ!

Π–Π΅Π»Π΅Π·ΠΎ ΠΈ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°! Π’ΠΎΡ‚ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠ›Π˜Π‘ ΠΈ ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ.

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

Β 

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ процСссоров ΠΈ микропроцСссоров ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ свои устройства Π½Π° ΠŸΠ›Π˜Π‘. Π”Π°-Π΄Π°, Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ: сначала ΠΎΠ½ΠΈ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠŸΠ›Π˜Π‘, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ располоТСнии ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² МК ΠΈ Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

По характСристикам Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ сигнала, ΠŸΠ›Π˜Π‘ Ρ‡Π°Ρ‰Π΅ всСго рассчитана Π½Π° 3,3Π’, 20мА, ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π° 5Π’, 20мА.

Под ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AVR, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Arduino, написано мноТСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠΌΠΎΡ‡Π΅ΠΊ Π² Π²ΠΈΠ΄Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‡ΠΈΠΊΠΎΠ², Π΄Π° всСго, Ρ‡Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΡƒΡˆΠ΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ! Arduino Π² настоящСС врСмя большС ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ конструктор для Π΄Π΅Ρ‚Π΅ΠΉ ΠΈ взрослых. Однако Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ядро этого конструктора управляСт Β«ΡƒΠΌΠ½Ρ‹ΠΌΠΈ Π΄ΠΎΠΌΠ°ΠΌΠΈΒ», соврСмСнной Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ элСктроникой, Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ, автомобилями, самолСтами, ΠΎΡ€ΡƒΠΆΠΈΠ΅ΠΌ ΠΈ Π΄Π°ΠΆΠ΅ космичСскими Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π°ΠΌΠΈ. НСсомнСнно, Ρ‚Π°ΠΊΠΎΠΉ конструктор Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΠΎΠ΄Π°Ρ€ΠΊΠΎΠ² для любого прСдставитСля сильной ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ чСловСчСства.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, всС просто!

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. ΠœΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ =)

Автор ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π½Π΅ Π² сСти 11 мСсяцСв

wandrys

877 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ: 1ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 31РСгистрация: 17-03-2016

micro-proger.ru

МК VS ΠŸΠ›Π˜Π‘ / ΠŸΠ›Π˜Π‘ / БообщСство EasyElectronics.ru

Π–ΡƒΡ‚ΠΊΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ πŸ™‚ Π¨ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°.
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ тСорСтичСски ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ прСимущСство ΠŸΠ›Π˜Π‘ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ Π² Π·Π°Π΄Π°Ρ‡Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ классичСского гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ГСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… поиска, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ y=f(X), Π³Π΄Π΅ X – Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ извСстному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Y Π½Π°ΠΉΡ‚ΠΈ X. МоТно ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ГА Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ быстрСС. Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ строим Π½Π° основС ГА ΠΊΠ°ΠΊΡƒΡŽ Ρ‚ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΡƒΡŽ систСму, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° измСнСния X ΠΈ быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ значСния X. НапримСр, Π² систСмах Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ для поиска Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… коэффициСнтов Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°. Вакая систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΊ скорости нахоТдСния коэффициСнтов.
Π§Ρ‚ΠΎ ΠΈΠ· сСбя прСдставляСт ГА. Вся идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ комбинациями всС элСмСнты Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X, получСнная комбинация называСтся хромосома, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ пытаСмся Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ подходящий Π½Π°ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π°Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X. Насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят значСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π₯ ΠΌΡ‹ опрСдСляСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ фитнСсс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΊΠ°ΠΊ Ρ€Π°Π· зависит ΠΎΡ‚ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π₯ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ хромосомы. Рассмотрим ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Из Π½Π΅Π³ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΌ Π½Π°Π΄ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°Π±ΠΎΡ€ хромосом, Ρ‚.Π΅. ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ΅Ρ€Ρƒ приспособлСнности хромосом всСй популяции, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΡΠΈΠ»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² послСдствии большС шансов Π½Π° участиС Π² создании ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния, Ссли нашлась хромосома которая удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ остановки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° этом Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ. Если Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Ρ‚ΠΎ ΠΊ популяции Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ гСнСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. Π˜Ρ… ΡΡƒΡ‚ΡŒΡŽ являСтся Π½Π° основС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ популяции ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ, которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈ Ρ‚.Π΄. ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ условия останова. Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ для создания Π½ΠΎΠ²ΠΎΠΉ популяции Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сСлСкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ β€” Π§Π΅ΠΌ большС ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ хромосомы, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΅Π΅ Π²Ρ‹Π±ΠΎΡ€ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΡƒΠ». ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ГА это
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ скрСщивания. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС скрСщивания Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Ρ‹ хромосом ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ популяции (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡƒΠ»Π°). ΠŸΡƒΡΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ особи с хромосомами X={x_i,i∈[0;L]} ΠΈ Y={y_i,i∈[0;L]}. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ опрСдСляСтся Ρ‚ΠΎΡ‡ΠΊΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ хромосомы (Ρ‚ΠΎΡ‡ΠΊΠ° Ρ€Π°Π·Ρ€Ρ‹Π²Π°), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Π΅ хромосомы дСлятся Π½Π° Π΄Π²Π΅ части ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠΈ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° скрСщивания, прСдставляСт собой Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ число, мСньшСС L. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ скрСщивания называСтся ΠΎΠ΄Π½ΠΎΡ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΌ.
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для «выбивания» популяции ΠΈΠ· локального экстрСмума ΠΈ прСпятствуСт ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ сходимости. Π­Ρ‚ΠΎ достигаСтся Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ с Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€m измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π³Π΅Π½Π° Π² хромосомС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ (Ρ‚.Π΅. с 0 Π½Π° 1 ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ).
Рассмотрим Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этих ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
Π’ ΠΈΡ‚ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ придётся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ:
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сСлСкции
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ скрСщивания
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠœΡƒΡ‚Π°Ρ†ΠΈΠΈ
Π‘Ρ€Π°Π²Π½ΠΈΠΌ вСроятныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠŸΠ›Π˜Π‘ ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΡƒΡΠΊΠ°ΠΉ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ популяция ΠΈΠ· 100 32-разрядных хромосом. Π’ качСствС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π±Π΅Ρ€Π΅ΠΌ RISC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой 200 ΠœΠ³Ρ†.

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ чисСл Π½Π° МК ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ М- ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ схСмС Π“Π°Π»ΡƒΠ°

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: сдвиг, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия ΠΈ логичСскоС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ слоТСниС; ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° 3 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ хромосомы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ количСство Ρ‚Π°ΠΊΡ‚ΠΎΠ² Ρ€Π°Π²Π½ΠΎΠ΅ Π΅Π΅ Π΄Π»ΠΈΠ½Π΅, Ρ‚.Π΅. для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ хромосомы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ (3+1)*L ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² рСгистр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сгСнСрированного Π±ΠΈΡ‚Π°. Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСй популяции, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ размСщСния особСй Π² ΠžΠ—Π£ ΠΈΠ»ΠΈ ΠŸΠ—Π£, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ((3+1)*L+2)*R ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².
НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ популяции Ρ€Π°Π²Π½ΠΎΠΌ 100 ΠΈ разрядности хромосомы Ρ€Π°Π²Π½ΠΎΠΉ 32, для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции потрСбуСтся ((3+1)*32+2)*100 = 13000 Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ частотС Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС 200 MHz составит 65 мкс.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ, Π½ΠΎ Π½Π΅ всС МК ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌΠΈ характСристиками. По – этому Ссли Ρƒ вас МК ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту ΠΈ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, это врСмя увСличится Π² Ρ€Π°Π·Ρ‹, Π° Ρ‚ΠΎ ΠΈ Π² дСсятки.
Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π° ΠŸΠ›Π˜Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ схСму Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

НСмного ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π² Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ схСму.

Она позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ хромосому Π·Π° Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния рСсурсов ΠŸΠ›Π˜Π‘ Ρ‚Π°ΠΊΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ сильно Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ запросто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ 100 Ρ‚Π°ΠΊΠΈΡ…. Π—Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΈ частотС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° 100 ΠœΠ“Ρ† ΠΌΡ‹ смоТСм ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ Π·Π° 10 нс. ЧувствуСтС Ρ€Π°Π·Π½ΠΈΡ†Ρƒ?
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сСлСкции Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ‚ΡƒΡ€Π½ΠΈΡ€Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайно 4 хромосомы ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡƒΠ»Π°, сравниваСм ΠΈΡ… приспособлСнности ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΡƒΠ», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…. Π­Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 100 Ρ€Π°Π·. Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ расчСт приспособлСнности хромосом популяции ΡƒΠΆΠ΅ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΈ эти значСния, Π³Π΄Π΅ Ρ‚ΠΎ хранятся. Если Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° для хранСния хромосом довольно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, Ρ‚ΠΎ посчитаСм врСмя выполнСния Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ опСрация чтСния 2 Ρ‚Π°ΠΊΡ‚Π°, Π° опСрация сравнСния 1 Ρ‚Π°ΠΊΡ‚ β€” 100*(4*2 + 3+2) – Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ – Π²Ρ‹Π±ΠΎΡ€ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… хромосом, Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° сравнСниС ΠΈ ΠΎΠ΄Π½Π° запись Π»ΡƒΡ‡ΡˆΠ΅ΠΉ хромосомы. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈ частотС 200 ΠœΠ³Ρ† ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 6.5 мкс. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ, Π½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вСсьма ΡƒΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ.
Для ΠŸΠ›Π˜Π‘ возьмСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ схСму

Для экономии рСсурсов, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ сами хромосомы, Π° ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€Π° Π² популяции, Π΄Π° ΠΈ Π²Π΅Π·Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΈΡ… адрСсами, Π° сами хромосомы ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это трСбуСтся. Как Π²ΠΈΠ΄Π½ΠΎ здСсь Ρ‚Ρ€ΠΈ уровня Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ порядка Ρ‚Π΅Ρ… ΠΆΠ΅ 10 нс, Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ схСму синхронной Π΄ΠΎ добавится набольшиС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎ ΠΈ послС ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° синхросигнала. ЕдинствСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ хромосомы ΠΈΠ· популяции, ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠŸΠ›Π˜Π‘ Π½Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ потрСбуСтся ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ рСсурс Π² Π²ΠΈΠ΄Π΅ большого количСства ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ² ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ² для Π²Ρ‹Π±ΠΎΡ€Π° любой хромосомы ΠΈΠ· популяции. На ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ схСму Ρ‚Π°ΠΊ ΠΆΠ΅ потрСбуСтся Π½Π΅ особо большой рСсурс ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ разрядности значСния приспособлСнности, Π³Π΄Π΅ Ρ‚ΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ LUT Π½Π° разряд для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Π°. Основной расход рСсурсов Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° схСму Π²Ρ‹Π±ΠΎΡ€Π° хромосомы для провСдСния Ρ‚ΡƒΡ€Π½ΠΈΡ€Π°. Но это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π±Π΅Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ всСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡƒΠ»Π°. Π’.Π΅. Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 10 нс. Намного Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Π΅ΠΌ Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
Π‘ΠΎ скрСщиваниСм всС просто.
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ скрСщивания Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ выполняСтся с использованиСм маски ΠΈ сводится ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… хромосом ΠΈΠ· ΠžΠ—Π£ (4 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°), маскированиС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ хромосомы ΠΏΠΎ 2 Ρ€Π°Π·Π° (4 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°), логичСскоС слоТСниС Π΄Π²ΡƒΡ… маскированных хромосом ΠΏΠΎ 2 Ρ€Π°Π·Π° (2 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°), запись Π΄Π²ΡƒΡ… хромосом Π² ΠžΠ—Π£ (4 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°).

ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ популяции Ρ€Π°Π²Π½ΠΎΠΌ 100, для получСния всСх ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² потрСбуСтся (4+4+2+4)*50 = 700 Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ частотС Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС 200 MHz составит 3.5 мкс.
На ΠŸΠ›Π˜Π‘ Ρ‚Π°ΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΉ схСмС.

Как Π²ΠΈΠ΄Π½ΠΎ здСсь Π΄Π²Π° каскада Π»ΠΎΠ³ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ даст Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Π°ΠΊ ΠΆΠ΅ порядка 10 нс. Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ рСсурсов Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ хромосомы. Для ΡΡ‚Π°Ρ€ΡˆΠΈΡ… микросхСм сСмСйства Spartan 6 Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ вСсьма скромными, ΠΏΠΎ этому сущСствуСт Ρ‚Π°ΠΊ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС ΠΏΠ°Ρ€Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ даст Π½Π°ΠΌ врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² 10 нс.
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ Π½Π° МК ΠΈ ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ со скрСщиваниСм, Π΄ΡƒΠΌΠ°ΡŽ Ρ‚ΡƒΡ‚ особо Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅Ρ‡Π΅Π³ΠΎ.
А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посчитайтС, сколько потрСбуСтся Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, для нахоТдСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ трСбуСтся порядка 50-100 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.
Π’ΡƒΡ‚ ΠŸΠ›Π˜Π‘ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π²ΠΏΠ΅Ρ€Π΅Π΄, Π° Ссли ΠΌΡ‹ Π΅Ρ‰Π΅ допустим ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Π½Π° ΠŸΠ›Π˜Π‘, смоТСм Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ исслСдования Π²ΠΈΠ΄Π½ΠΎ прСимущСство ΠŸΠ›Π˜Π‘ Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅. ΠŸΡ€ΠΈ это Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ пСрСстройки всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ разрядностСй) Π² ΠŸΠ›Π˜Π‘ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для МК.
Вопрос Ρ†Π΅Π½Ρ‹, Π½Ρƒ пускай плис стоит Π² 100 Ρ€Π°Π· Π΄ΠΎΡ€ΠΎΠΆΠ΅ МК. Но ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ Π½Π° ΠŸΠ›Π˜Π‘, Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ 100 МК плюс титаничСскиС усилия ΠΏΠΎ Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠ΅ ΠΏΠ»Π°Ρ‚Ρ‹, Ссли Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.
НадСюсь ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Ρ‚Π°ΠΊΠΈ ΠŸΠ›Π˜Π‘ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ МК.

we.easyelectronics.ru

понятиС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΡ€Π°Π²ΠΈΠ»Π° программирования ΠΈ основы для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΠ›Π˜Π‘ (FPGA) Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ «Field Programmable Gate Array» ΠΈ прСдставляСт собой ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ массив Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ пСрСстроСны Π² любоС врСмя ΠΈ Π² любом мСстС. МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠŸΠ›Π˜Π‘. Β«ΠžΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π²ΠΎΡ€ΠΎΡ‚Β» β€” ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ описаниС ΠΌΠΎΠ΄Π΅Π»ΠΈ. НСкоторыС FPGA ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС ТСсткиС Π±Π»ΠΎΠΊΠΈ: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ памяти, высокоскоростныС ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ интСрфСйсы ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ PCIe. Π’Π½ΡƒΡ‚Ρ€ΠΈ FPGA ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ свободно ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ вмСстС. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… микросхСм логичСских элСмСнтов. FPGA Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ компаниями ΠΌΠΈΡ€Π° Xilinx, Altera, ΠΈ Microsemi.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития FPGA

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΡ ΠŸΠ›Π˜Π‘ выросла ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ постоянной памяти PROM ΠΈ логичСских устройств PLD. Π’ 1970 Π³. Philips ΠΈΠ·ΠΎΠ±Ρ€Π΅Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Π² ΠΏΠΎΠ»Π΅Π²Ρ‹Ρ… условиях ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Π’ конструкции Ρ‚Π°ΠΊΠΎΠΉ ΠŸΠ›Π˜Π‘, Ρ‡Ρ‚ΠΎ состояла ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠ»Π°Π½ΠΎΠ², Π΄ΠΎΡΡ‚ΠΈΠ³Π°Π»Π°ΡΡŒ спСцифичСская рСализация логичСских схСм: программируСмая проводная «Π˜» Π»ΠΈΠ±ΠΎ «Π˜Π›Π˜». Π­Ρ‚ΠΎ Π΄Π°Π²Π°Π»ΠΎ Π΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Sum of Products.

Altera Π±Ρ‹Π»Π° создана Π² 1983 Π³ΠΎΠ΄Ρƒ, Π° ΡƒΠΆΠ΅ Π² 1984 Π³ΠΎΠ΄Ρƒ выпустила ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π² отрасли ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ логичСскоС устройство β€” EP300 с ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π² ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ»ΡŒΡ‚Ρ€Π°Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²ΡƒΡŽ Π»Π°ΠΌΠΏΡƒ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ для удалСния EPROM ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ трудности стоимости ΠΈ скорости, Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° программируСмая Π»ΠΎΠ³ΠΈΠΊΠ° массива, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ…ΠΎΠ΄ΠΈΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ «И», Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π² фиксированныС Β«Π˜Π›Π˜Β» Π²ΠΎΡ€ΠΎΡ‚Π°. PAL ΠΈ PLA вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС устройства SPLD. Π’Π°ΠΊΠΈΠ΅ ΠŸΠ›Π˜Π‘, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ Ρ‡ΠΈΠΏ с прСдоставлСнными мСТсоСдинСниями для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ соСдинСния Π±Π»ΠΎΠΊΠΎΠ², использовались для удовлСтворСния растущих тСхнологичСских Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Они Π½Π°Π·Π²Π°Π½Ρ‹ комплСксными PLD ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Altera.

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

ИдСя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ коммСрчСски ТизнСспособной ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ соучрСдитСлям Xilinx Россу Π€Ρ€ΠΈΠΌΠ΅Π½Ρƒ ΠΈ Π‘Π΅Ρ€Π½Π°Ρ€Π΄Ρƒ Π’ΠΎΠ½Π΄Π΅Ρ€ΡˆΠΌΠΈΡ‚Ρ‚Ρƒ. XC2064 Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ Π² 1985 Π³ΠΎΠ΄Ρƒ ΠΈ состоял ΠΈΠ· 64 настраиваСмых логичСских Π±Π»ΠΎΠΊΠΎΠ² с 3-мя справочными Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Он Π΄Π°Π΅Ρ‚ соврСмСнноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠŸΠ›Π˜Π‘. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅ 1980 Π³ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π‘Ρ‚ΠΈΠ²ΠΎΠΌ КассСльман экспСримСнт ΠΏΠΎ созданию ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с 6000000 ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²ΠΎΡ€ΠΎΡ‚ нашСл спонсоров Π² ΠΎΡ‚Π΄Π΅Π»Π΅ Π½Π°Π΄Π²ΠΎΠ΄Π½Ρ‹Ρ… Π±ΠΎΠ΅Π²Ρ‹Ρ… дСйствий Π’ΠœΠ‘ БША, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠ°Ρ‚Π΅Π½Ρ‚ Π² 1992 Π³ΠΎΠ΄Ρƒ.

К ΠΊΠΎΠ½Ρ†Ρƒ 1990 Π³ΠΎΠ΄Π° появилась большая конкурСнция Π² производствС ΠŸΠ›Π˜Π‘, Ρ‚ΠΎΠ³Π΄Π° доля Ρ€Ρ‹Π½ΠΊΠ° Xilinx Π½Π°Ρ‡Π°Π»Π° ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠΈ, ΠΊΠ°ΠΊ Actel, Altera, Lattice, QuickLogic, Cypress, Lucent ΠΈ SiliconBlue, заняли свою Π½ΠΈΡˆΡƒ Π½Π° ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ΅ FPGA наряду с Xilinx. Π’ 1997 Π³ΠΎΠ΄Ρƒ Адриану Вомпсону ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ΠΎΠ² ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с FPGA, Π½Π°Ρ‡Π°Π² Π½ΠΎΠ²ΡƒΡŽ эпоху Evolvable.

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ программирования

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… β€” это процСсс изучСния, планирования, проСктирования ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° FPGA. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈ Ρ‚ΠΈΠΏ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с трСбованиями ΠΈ созданиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, с объяснСниСм, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ВрСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° созданиС качСствСнного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, сэкономит Π΅Π³ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅, ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ исправлСнии ошибок. РСализация Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ программирования ΠŸΠ›Π˜Π‘ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с использованиСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ввСдСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… схСмы ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ HDL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Verilog ΠΈΠ»ΠΈ VHDL. FPGA ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» Π½Π° физичСскоС устройство FPGA с использованиСм инструмСнтов программирования ΠŸΠ›Π˜Π‘ Altera. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ схСм большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ. Π‘ΠΈΠ½Ρ‚Π΅Π· ΠΈ программирования ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ ΠΎΠ± инструмСнтах Π²Π΅Π½Π΄ΠΎΡ€Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ инструмСнты ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ISE ΠΈ Vivado ΠΈ Numato Lab.

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ рСгистра RTL

RTL ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ рСгистра. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ Register Transfer Logic ΠΈΠ»ΠΈ Register Transfer Language, всС ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π² контСкстС проСктирования оборудования. RTL β€” это абстракция Π±ΠΎΠ»Π΅Π΅ высокого уровня для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, которая находится Π³Π΄Π΅-Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ строго повСдСнчСским ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ ΠΈ чисто структурным Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ шлюза β€” Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅ΠΉΡ‚ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ описаниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств с использованиСм Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ, Ρ‡Ρ‚ΠΎ являСтся достаточно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. RTL ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «псСвдокод», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² основах программирования ΠŸΠ›Π˜Π‘. МоТно ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ шагов ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° рСгистров ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅.

RTL Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ Β«ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…Β». Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ RTL Π³ΠΎΡ‚ΠΎΠ², Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ HDL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Verilog, VHDL, SystemVerilog ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык описания оборудования.

ΠŸΠ›Π˜Π‘ β€” это Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ просто мноТСство Π²ΠΎΡ€ΠΎΡ‚. Π₯отя ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ логичСскиС схСмы любой слоТности, организуя ΠΈ соСдиняя логичСскиС элСмСнты. Π­Ρ‚ΠΎ способ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² простом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² массив элСмСнтов. Π”Π²Π° популярных ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ схСмы ΠΈ языка описания оборудования HDL. Π”ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ стал ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ всС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ схСм. Они Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ простыми для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ нСуправляСмыми β€” для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ…. Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Intel Ρ€ΠΈΡΡƒΡŽΡ‚ схСмы для Pentium, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ шлюзов! Π­Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ слоТно.

Verilog β€” это язык описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств HDL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм Π² тСкстовом Π²ΠΈΠ΄Π΅. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Verilog Π½Π΅ Ρ‚Π°ΠΊ слоТно, Ссли Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ программирования. VHDL являСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ популярным HDL, ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² отрасли. Verilog ΠΈ VHDL ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Verilog, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ прост Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ синтаксичСскоС сходство с языком Π‘ΠΈ.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования

ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ настройку оборудования. Π­Ρ‚ΠΎ особая Ρ„ΠΎΡ€ΠΌΠ° PLD с Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π·Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с использованиСм CAD. ΠŸΠ›Π˜Π‘ доступны Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π½Π° основС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования.

Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с использованиСм:

  1. Antifuse Technology.
  2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Flash ΠΊΠ°ΠΊ устройства ΠΎΡ‚ Actel.
  3. FPGA ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ нСсколько тысяч Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько ΠΌΠΈΠ½ΡƒΡ‚ Π² самом ΠΏΠΎΠ»Π΅ для пСрСпрограммирования ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠŸΠ›Π˜Π‘ Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ SRAM, которая ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²ΠΎ врСмя самой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСбольшим количСством Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… схСм. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Altera, Actel, Atmel ΠΈ Xilinx, производят эти устройства.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ

НСзависимо ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ FPGA ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ любой FPGA ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ «логичСский Π±Π»ΠΎΠΊΒ» (CLB), ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Β«Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°Β» с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для распрСдСлСния ΠΈ управлСния часами ΠΈ памяти RAM Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° с основным ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ логичСской ячСйкой. ПослСдняя состоит ΠΈΠ· Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π»ΠΎΠ³ΠΈΠΊΠΈ пСрСноса ΠΈ элСмСнтов хранСния. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ справочных Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ зависят ΠΎΡ‚ ввСдСния. НапримСр, Xilinx Spartan II ΠΈΠΌΠ΅Π΅Ρ‚ 4 Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… LUT с обСспСчСниСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 16X1 Π±ΠΈΡ‚Π½Ρ‹ΠΌ синхронным ΠžΠ—Π£ с использованиСм ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ² ΠΊΠ°ΠΊ рСгистров сдвига для Π·Π°Ρ…Π²Π°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ хранСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊ краям Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΊ ΡƒΡ€ΠΎΠ²Π½ΡŽ Π·Π°Π΄Π²ΠΈΠΆΠ΅ΠΊ.

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ программирования ΠŸΠ›Π˜Π‘ΠΎΠ²:

  1. АрифмСтичСская Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒ XOR для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ сумматором ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ логичСских Π»ΠΈΠ½ΠΈΠΉ пСрСноски.
  2. Π‘Π»ΠΎΠΊ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр стандартов ΠΈ интСрфСйсов сигнализации.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅.

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

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

На любой сборочной Π»ΠΈΠ½ΠΈΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ сСгмСнт опрСдСляСт ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Алгоритмы ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных ΠΏΡƒΡ‚Π΅ΠΉ обСспСчСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ осущСствляСтся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ CLB, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ CLB, выдСлСнная ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… классов с Ρ†Π΅Π»ΡŒΡŽ максимизации ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Global Routing для распрСдСлСния Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сигналов с ΠΎΡ‡Π΅Π½ΡŒ большим Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. БСмСйства FPGA Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ большиС Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ структуры RAM для дополнСния распрСдСлСнных LUT RAM, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств FPGA.

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

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

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΡ€ΠΎΡ‚

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

Часто Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π΄ΠΈΠ»Π΅ΠΌΠΌΠΎΠΉ, насколько мощная ΠŸΠ›Π˜Π‘ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «количСство Π²ΠΎΡ€ΠΎΡ‚Β». НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ Xilinx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 3 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для измСрСния объСма FPGA, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… логичСских элСмСнтов, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² памяти ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° шлюзов. Пока ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ согласованными, миграция ΠΌΠ΅ΠΆΠ΄Ρƒ модСлями нСсколько упрощаСтся, Π½ΠΎ ΠΎΠ½Π° Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ сравнСниС Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… поставщиков Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΈ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ являСтся сравнСниС Ρ‚ΠΈΠΏΠ° ΠΈ количСства прСдоставлСнных логичСских рСсурсов. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ этому, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡΠΎΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ устройства, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ возмоТностями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹. НапримСр, Stratix II EP2S180 ΠΎΡ‚ Altera ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 1,86,576 LUT с 4 Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ, Π° Xilinx Virtex-4 XC4VLX200 содСрТит соотвСтствСнно 1,78,176. Однако, Ссли для проСктирования Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 177 тыс. LUT, это Π±ΡƒΠ΄Π΅Ρ‚ достаточно.

Если ΠžΠ—Π£ — это ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°, Ρ‚ΠΎ Π½ΠΈ 6 ΠœΠ±ΠΈΡ‚ Xilinx XC4VLX200, Π½ΠΈ 9 ΠœΠ±ΠΈΡ‚ Altera EP2S180 Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΌΠ΅Π½Π΅Π΅ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ старой модСлью XC4VFX140 с 9,9 ΠœΠ±ΠΈΡ‚.

Π―Π·Ρ‹ΠΊΠΈ программирования ΠΈ ПО

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ Altera для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… стартуСт с Π²Ρ‹Π±ΠΎΡ€Π° языка. ΠžΠΏΡ†ΠΈΡ C, C ++ ΠΈΠ»ΠΈ System C позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… устройств ΠΈ, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, достиТСния сходства рСалистичСской Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π° Π±Π°Π·Π΅ C для проСктирования FPGA обСспСчиваСтся HLS (синтСз высокого уровня), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ находится Π½Π° Π³Ρ€Π°Π½ΠΈ ΠΏΡ€ΠΎΡ€Ρ‹Π²Π° с Ρ‚Π°ΠΊΠΈΠΌ инструмСнтом, ΠΊΠ°ΠΊ Handle-C. Π’ послСднСС врСмя это стало Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ поставщики Altera ΠΈ Xilinx ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ HLS Π² своих Π½Π°Π±ΠΎΡ€Π°Ρ… инструмСнтов Spectra-Q ΠΈ Vivado HLx соотвСтствСнно.

ДоступСн ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ программирования ΠŸΠ›Π˜Π‘ Altera для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π½Π° основС C, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ OpenCL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FPGA Π±Π΅Π· Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° FPGA.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ›Π˜Π‘ с ПО Xilinx совсСм Π½Π΅ слоТно. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, покупая ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Xilinx, бСсплатно ΠΈΠ»ΠΈ ΠΏΠΎ Ρ†Π΅Π½Π΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½ΠΎΠΌ сайтС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ использования. Из всСх ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ поискС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹Ρ… массивов, Xilinx бСзусловно Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· всСх. Они ΡΠ²Π»ΡΡŽΡ‚ΡΡ создатСлями этого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ вносили Π² Π½Π΅Π³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ. Π€ΠΈΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ ПО стало Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅.

Π­Ρ‚Π°ΠΏΡ‹ проСктирования

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ…ΠΎΡ€ΠΎΡˆΠΎ прСдставлСна Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠŸΡ€ΠΈ настройкС ΠŸΠ›Π˜Π‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ схСмы, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ элСктроники. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ программирования, Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½Π°Ρ€Π΅Π·ΠΊΡƒ ΠΊΠΎΠ΄Π°, Ссли Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ясна. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ станСт ясно, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΊ описанию схСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· языков: Verilog ΠΈΠ»ΠΈ VHDL.

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

Π’Ρ€Π΅Ρ‚ΠΈΠΉ этап извСстСн ΠΊΠ°ΠΊ синтСз схСмы являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ. Он Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ элСмСнты ΠΈ ΠΈΡ… взаимосвязь Π² соотвСтствии с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ описания. Для этого этапа Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ситуаций ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ.

АппаратныС срСдства ΠΈ Π½Π°Π»Π°Π΄ΠΊΠ°

Intel Quartus Prime Software Suite Lite Edition β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для проСктирования ΠŸΠ›Π˜Π‘. Оно идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно, Π° Ρ„Π°ΠΉΠ» Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π΅ трСбуСтся. МоТно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π° сайтС производитСля. Π€Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ большой Ρ€Π°Π·ΠΌΠ΅Ρ€ (нСсколько Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚), ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ установка ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ дисковоС пространство, рСкомСндуСтся Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈ запросС, Ρ„Π°ΠΉΠ»Π°Ρ… для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΡΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ Β«Select AllΒ» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Quartus Prime ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Cyclone V устройства.

Алгоритм создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΠœΠ°ΡΡ‚Π΅Ρ€ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  2. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Next > ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ > Имя > ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
  3. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для размСщСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«BlinkΒ» ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΡƒ intelFPGA_lite, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ Β«Π”Π°Π»Π΅Π΅Β».
  4. Когда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Β«Π”Π°Β».
  5. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Β«ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ Β«Π”Π°Π»Π΅Π΅Β».
  6. Π”ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Β«Π”Π°Π»Π΅Π΅Β».
  7. ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ сСмСйства, устройства ΠΈ ΠΏΠ»Π°Ρ‚Ρ‹, выбирая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: сСмья — Π¦ΠΈΠΊΠ»ΠΎΠ½ V, устройство — Π¦ΠΈΠΊΠ»ΠΎΠ½ V SE, Π±Π°Π·Π°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ устройства: 5CSEBA6U2317.
  8. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ устройство, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ стрСлки Π²Π²Π΅Ρ€Ρ… / Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… устройств, ΠΏΠΎΠΊΠ° Π½Π΅ появится 5CSEBA6U2317.
  9. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ «Имя», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя устройства, Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«Π”Π°Π»Π΅Π΅Β».
  10. ΠŸΡ€ΠΈ настройкС инструмСнт EDA, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ стандартныС инструмСнты, поэтому Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ Β«Π”Π°Π»Π΅Π΅Β» ΠΈ Β«Π“ΠΎΡ‚ΠΎΠ²ΠΎΒ». ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ экран Ρ€Π΅Π·ΡŽΠΌΠ΅.
  11. Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ» HDL с Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Verilog Π² качСствС HDL.
  12. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΡΡ‚ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ File (Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ) ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ New.
  13. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Verilog HDL File ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК.
  14. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Β«Π€Π°ΠΉΠ»Β»> Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΒ».
  15. Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ имя Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ имя Ρ„Π°ΠΉΠ»Π° Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΈ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  16. ΠΠ°ΠΆΠΈΠΌΠ°ΡŽΡ‚ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ».
  17. Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Verilog.
  18. ΠšΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΈΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Verilog Π² ΠΎΠΊΠ½ΠΎ blink.v, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄Π°.
  19. ΠΠ°ΠΆΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ «Анализ ΠΈ синтСз», Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ Β«ΠŸΡƒΡΠΊΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ синтаксиса ΠΈ синтСза ΠΊΠΎΠ΄Π° Verilog.

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

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

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

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

fb.ru

АрхитСктура ΠŸΠ›Π˜Π‘ (FPGA)

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ
ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ: Π Π°Π·Π½ΠΎΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 20 Π―Π½Π²Π°Ρ€ΡŒ 2014
Автор: Николай ΠšΠΎΠ²Π°Ρ‡
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 138965

FPGA – это сокращСниС ΠΎΡ‚ английского словосочСтания Field Programmable Gate Array.

ΠŸΠ›Π˜Π‘ – это сокращСниС ΠΎΡ‚ словосочСтания Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ ЛогичСская Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Π°Ρ Π‘Ρ…Π΅ΠΌΠ°Β». Π‘Π»ΠΎΠ²ΠΎ ΠŸΠ›Π˜Π‘ встрСчаСтся Π² русскоязычных докумСнтациях ΠΈ описаниях вмСсто слова FPGA. Π”Π°Π»Π΅Π΅ ΠΏΠΎ тСксту Π² основном Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ — ΠŸΠ›Π˜Π‘.
Β 
ΠŸΠ›Π˜Π‘ ΠΈ FPGA – это Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ класс элСктронных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², микросхСм. Π­Ρ‚ΠΎ микросхСмы, примСняСмыС для создания собствСнной структуры Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм.

Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠŸΠ›Π˜Π‘ опрСдСляСтся Π½Π΅ Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»Π΅ΠΌ микросхСмы, Π° ΠΏΡƒΡ‚Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (Π² ΠΏΠΎΠ»Π΅Π²Ρ‹Ρ… условиях, field-programmable) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΡ‹ ΠŸΠ›Π˜Π‘ – это Π½Π΅ микропроцСссоры, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π’ ΠŸΠ›Π˜Π‘ рСализуСтся ΠΈΠΌΠ΅Π½Π½ΠΎ элСктронная схСма, состоящая ΠΈΠ· Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ².

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ для ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмы. Π•Ρ‰Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ языки описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° Verilog ΠΈΠ»ΠΈ VHDL.

Π’ любом случаС, ΠΈ графичСскоС ΠΈ тСкстовоС описаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ схСму, которая Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС Π±ΡƒΠ΄Π΅Ρ‚ «встроСна» Π² ΠŸΠ›Π˜Π‘.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, сама микросхСма ΠŸΠ›Π˜Π‘ состоит ΠΈΠ·:

  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… логичСских Π±Π»ΠΎΠΊΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ;
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… элСктронных связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ;
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… связь внСшнСго Π²Ρ‹Π²ΠΎΠ΄Π° микросхСмы с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря это Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список. Π’ соврСмСнных ΠŸΠ›Π˜Π‘ часто Π±Ρ‹Π²Π°ΡŽΡ‚ встроСны Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΎΠΊΠΈ памяти, Π±Π»ΠΎΠΊΠΈ DSP ΠΈΠ»ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ, PLL ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π—Π΄Π΅ΡΡŒ, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΈΡ… Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ.

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

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠŸΠ›Π˜Π‘ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

SRAM-Based.
Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых распространСнных разновидностСй ΠŸΠ›Π˜Π‘. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠŸΠ›Π˜Π‘ хранится ячСйках статичСской памяти, ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎ стандартной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CMOS.
Достоинство этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ – Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ пСрСпрограммирования ΠŸΠ›Π˜Π‘. НСдостатки – Π½Π΅ самоС высокоС быстродСйствиС, послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ вновь Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ. Π—Π½Π°Ρ‡ΠΈΡ‚ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Ρ‰Π΅ ΡΡ‚ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ микросхСма FLASH ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ – всС это ΡƒΠ΄ΠΎΡ€ΠΎΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅.

Flash-based.
Π’ Ρ‚Π°ΠΊΠΈΡ… микросхСмах Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ происходит Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ FLASH памяти ΠΈΠ»ΠΈ памяти Ρ‚ΠΈΠΏΠ° EEPROM. Π’Π°ΠΊΠΈΠ΅ ΠŸΠ›Π˜Π‘ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚. ПослС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания микросхСма ΠΎΠΏΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. Однако, Ρƒ этого Ρ‚ΠΈΠΏΠ° ΠŸΠ›Π˜Π‘ Π΅ΡΡ‚ΡŒ ΠΈ свои нСдостатки. РСализация FLASH памяти Π²Π½ΡƒΡ‚Ρ€ΠΈ CMOS микросхСмы – это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ просто. ВрСбуСтся ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… тСхпроцСсса для производства Ρ‚Π°ΠΊΠΈΡ… микросхСм. Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π΄ΠΎΡ€ΠΎΠΆΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΈΠ΅ микросхСмы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² пСрСзаписи ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Antifuse.
Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ тСхнология ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠŸΠ›Π˜Π‘. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠŸΠ›Π˜Π‘ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² расплавлСнии Π² Π½ΡƒΠΆΠ½Ρ‹Ρ… мСстах Ρ‡ΠΈΠΏΠ° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ для образования Π½ΡƒΠΆΠ½ΠΎΠΉ схСмы.
НСдостаток – собствСнно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρ‡ΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ПослС этого ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя. Π‘Π°ΠΌ процСсс ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ довольно Π½Π΅ быстрый. Π—Π°Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ масса достоинств Ρƒ Ρ‚Π°ΠΊΠΈΡ… ΠŸΠ›Π˜Π‘: ΠΎΠ½ΠΈ довольно быстрыС (ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… частотах), мСньшС ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ сбоям ΠΏΡ€ΠΈ Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΈ – всС ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ конфигурация получаСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ, Π° Π½Π΅ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠ°ΠΊ Ρƒ SRAM-based.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π° встрСчаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Logic Array Block (LAB) – массив Π»ΠΎΠ³ΠΈΠΊΠΈ. Π£ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xilinx Π² микросхСмах ΠŸΠ›Π˜Π‘ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π±Π»ΠΎΠΊΠΈ — Configurable Logic Block (CLB). ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ логичСский Π±Π»ΠΎΠΊ – это Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΠŸΠ›Π˜Π‘, Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° какая-Ρ‚ΠΎ простая логичСская функция ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычислСния Π² рСгистрах (Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…).

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ структура ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ логичСского Π±Π»ΠΎΠΊΠ° (CLB) опрСдСляСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ.

ВСорСтичСски, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ логичСский Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‡Π΅Π½ΡŒ простым, просто ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ транзистор. Или ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТным, ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹ΠΉ процСссор. Π­Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

ИмСнно поэтому ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСт ΠΈΠ· сСбя Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС: ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достаточно слоТСн, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°ΡˆΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ ΠΈ довольно ΠΌΠ°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ мноТСство Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠŸΠ›Π˜Π‘ ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΈΡ… Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ схСму.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±ΠΎΡ€ структуры ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ логичСского Π±Π»ΠΎΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠŸΠ›Π˜Π‘ – это всСгда поиск компромиса ΠΏΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ кристалла, ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, ΡΠ½Π΅Ρ€Π³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΡŽ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ логичСский Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… логичСских элСмСнтов. Π’ англоязычной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ это Basic Logic Element (BLE) ΠΈΠ»ΠΈ просто Logic ElementΒ  (LE). Π’ ΠŸΠ›Π˜Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ LUT-based Π±Π°Π·ΠΎΠ²Ρ‹Π΅ логичСскиС элСмСнты. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:


Рис. 1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского элСмСнта.

LUT – это Look-Up Table, Ρ‚Π°Π±Π»ΠΈΡ†Π° прСобразования. НапримСр, Π½Π° Рис.1 ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±ΠΈΡ‚Π½Ρ‹ΠΉ LUT Π² составС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского Π±Π»ΠΎΠΊΠ°. Π—Π΄Π΅ΡΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±ΠΈΡ‚Π½ΠΎΠΌΡƒ числу Π½Π° Π²Ρ…ΠΎΠ΄Π΅ логичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ставится Π² соотвСтствиС ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠšΡ€Π°ΡΠ½Ρ‹Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΈ Π½Π° Рис. 1 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ элСмСнт, рСгистр – это Ρ‚Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π³Π΄Π΅ хранится ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° для ΠŸΠ›Π˜Π‘. Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 4-Ρ… Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ LUT трСбуСтся 16 ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСгистра. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ этих рСгистров ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈΒ  Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского элСмСнта.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ рСгистр (Π½Π° Рис. 1 это ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ красный ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊ справа) опрСдСляСт Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского элСмСнта Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ прямо Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с LUT ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ зафиксированноС Π² D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с LUT. Ѐиксация ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСмах Π½ΡƒΠΆΠ½Π° практичСски Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ логичСский элСмСнт использовался Π² ΠΌΠΎΠ΅ΠΌ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Β«ΠŸΠ›Π˜Π‘ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠŸΠ›Π˜Π‘Β».

Рассматривая Рис. 1 ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского элСмСнта понимаСшь какая ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π²Π½ΡƒΡ‚Ρ€ΡŒ соврСмСнного кристалла ΠŸΠ›Π˜Π‘ (SRAM-based). Π’Π΅Π΄ΡŒ Π² самом Π΄Π΅Π»Π΅, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ рСгистры (красныС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΈ) прямо Π½Π΅ доступны для использования Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Они Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слуТат для формирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Для ΠΎΠ΄Π½ΠΎΠ³ΠΎ D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ трСбуСтся Π±ΠΎΠ»Π΅Π΅ 16 (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎ большС) Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² для хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠŸΠ›Π˜Π‘.

На самом Π΄Π΅Π»Π΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ логичСский элСмСнт Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠŸΠ›Π˜Π‘ оказываСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС, Ρ‡Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 1. НиТС Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠŸΠ›Π˜Π‘.

Рис. 2. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ логичСский элСмСнт CPLD MAX II ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π°.

Π—Π΄Π΅ΡΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½Ρ‹ LUT ΠΈ D-Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. НиТС, Π½Π° Рис. 3 прСдставлСн Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Cyclone III.

Рис. 3. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ логичСский элСмСнт FPGA Cyclone III ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π°.

Π’ микросхСмах ΠΠ»ΡŒΡ‚Π΅Ρ€Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ LAB ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ 10-16 LE.

Π’ микросхСмах ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xilinx Virtex-6 Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ логичСский элСмСнт – это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Slice. Π’ ΠΎΠ΄Π½ΠΎΠΌ CLB всСго Π΄Π²Π° Slice. Π—Π°Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ Slice – это довольно слоТноС устройство:

Рис. 4. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Xilinx Virtex-6 Slice.

Π’ ΠΎΠ΄Π½ΠΎΠΌ CLB Virtex-6 имССтся 8 LUT ΠΈ 16 D-Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ плюс ΠΊ этому. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ всС слоТно.

Другая ΠΊΡ€Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ – микросхСмы FPGA ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsemi (Π±Ρ‹Π²ΡˆΠ°Ρ Actel).
НапримСр, Π² микросхСмах сСрии 40MX Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ логичСский элСмСнт выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Рис. 5. Logic Module of Microsemi 40MX serie.

Π’ΠΎΡΠ΅ΠΌΡŒ Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄.
Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ Π½ΠΈ Look-Up Table, Π½ΠΈ Π΄Π°ΠΆΠ΅ D-Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Π°. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Π°, ΠΊΠ°ΠΊ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ· Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Ρ… ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΎΠ² – Logic Module.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ такая большая Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ логичСского элСмСнта? Π’ΠΈΠ΄ΠΈΠΌΠΎ Π² микросхСмах Microsemi связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ обходится Π³ΠΎΡ€Π°Π·Π΄ΠΎ дСшСвлС: сСрия 40MX являСтся ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ. Π’ Π½Π΅ΠΉ ΠΌΠ΅ΠΆΠ±Π»ΠΎΡ‡Π½Ρ‹Π΅ связи Β«ΠΏΡ€ΠΎΠΏΠ»Π°Π²Π»ΡΡŽΡ‚ΡΡΒ» ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΌΠΈ Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. НСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… рСгистров для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ Π² FPGA Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². Ну микросхСмы ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsemi — это нСсколько особый случай. Π­Ρ‚ΠΎ тСхнология называСтся antifuse – для производства Ρ‚Π°ΠΊΠΈΡ… микросхСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСхпроцСсс CMOS с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ слоями для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ±Π»ΠΎΡ‡Π½Ρ‹Ρ… связСй.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π² ΠŸΠ›Π˜Π‘ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° нуТная Π½Π°ΠΌ цифровая схСма ΠΌΠ°Π»ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ логичСскиС Π±Π»ΠΎΠΊΠΈ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Для этого Π² ΠŸΠ›Π˜Π‘ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Ρ‹.

Π’ англоязычной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹: FPGA Routing Architecture ΠΈ Programmable Routing Interconnect. Π­Ρ‚ΠΎ всС ΠΎΠ± этом, ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… связях ΠΌΠ΅ΠΆΠ΄Ρƒ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ Π΄Π²Π΅ основных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ построСния ΠŸΠ›Π˜Π‘ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ связСй: островная ΠΈ иСрархичСская.

Рис. 6. ΠžΡΡ‚Ρ€ΠΎΠ²Π½Π°Ρ ΠŸΠ›Π˜Π‘.

ΠžΡΡ‚Ρ€ΠΎΠ²Π½Π°Ρ ΠŸΠ›Π˜Π‘ называСтся Ρ‚Π°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π±Π»ΠΎΠΊΠΈ всС Ρ€Π°Π²Π½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ находятся, ΠΊΠ°ΠΊ острова Π² ΠΎΠΊΠ΅Π°Π½Π΅, ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΈ линиями связи.

Π—Π΄Π΅ΡΡŒ, Π½Π° Рис. 6 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ CB – Connection Box ΠΈ SB – Switch Box. Π’ сущности это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ CLB ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ CLB Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π² ΠŸΠ›Π˜Π‘.

Π­Ρ‚ΠΎ island-style FPGA ΠΈΠ»ΠΈ mesh-based FPGA. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΈΡ… микросхСм – это сСрии Altera Cyclone ΠΈ Stratix.

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

Рис. 7. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠŸΠ›Π˜Π‘.

Π—Π΄Π΅ΡΡŒ Π±Π»ΠΈΠ·Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ CLB ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ довольно просто, Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ связи Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстро. Π’ΠΎΡ‚ Ссли Π½ΡƒΠΆΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ вычислитСлСй, Ρ‚ΠΎ сигнал Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΉΡ‚ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°ΠΉΡ‚ΠΈ Π²Π³Π»ΡƒΠ±ΡŒ Π² сосСднюю Β«ΠΊΠΎΠΌΠ½Π°Ρ‚ΡƒΒ».

НСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это сущСствСнно Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ island-style. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ прСдставитСли иСрархичСских ΠŸΠ›Π˜Π‘ – это микросхСмы ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π° сСрии Flex10K, APEX.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для проСктирования ΠŸΠ›Π˜Π‘.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для проСктирования ΠŸΠ›Π˜Π‘, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ компилятор (синтСзатор Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ„ΠΈΡ‚Ρ‚Π΅Ρ€ ΠΈ ассСмблСр) – это, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самая слоТная Ρ‡Π°ΡΡ‚ΡŒ всСй ΠŸΠ›Π˜Π‘ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (схСмы ΠΈ тСкстовыС описания Π½Π° Verilog HDL ΠΈΠ»ΠΈ VHDL ) ΠΈ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСтлист (netlist) – список всСх элСмСнтов схСмы ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Netlist Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ – логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСгистры Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

Π—Π°Ρ‚Π΅ΠΌ компилятор Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ· netlist Π² ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠŸΠ›Π˜Π‘. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ„ΠΈΡ‚Ρ‚Π΅Ρ€ (fitter). Он Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ логичСскиС элСмСнты ΠΈ выполняСт трассировку связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ (процСсс place and route). Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠŸΠ›Π˜Π‘ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами ΠΈ этих способов ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹. НСкотороС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ трассировка ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΡƒΡ‡ΡˆΠ΅, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ…ΡƒΠΆΠ΅. Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ качСства ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ систСмы – максимальная частота, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ смоТСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ элСмСнтов ΠΈ ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΉ трассировкС связСй. Π—Π΄Π΅ΡΡŒ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ влияниС Π΄Π»ΠΈΠ½Π° связСй ΠΌΠ΅ΠΆΠ΄Ρƒ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ количСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

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

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π°: Quartus II.
ПО Xilinx для проСктирования для ΠŸΠ›Π˜Π‘: ISE Suite, Vivaldo Design Suite.
ПО компании Microsemi: Libero IDE, Libero SoC.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, компиляторы для ΠŸΠ›Π˜Π‘ – это ваТнСйшая ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ собствСнности ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠŸΠ›Π˜Π‘.

На страницах нашСго сайта https://marsohod.org ΠΌΡ‹ удСляСм Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ систСм Π½Π° Π±Π°Π·Π΅ ΠŸΠ›Π˜Π‘ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ»ΡŒΡ‚Π΅Ρ€Π° ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Altera Quartus II.

Β 

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

marsohod.org

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

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