π Embedded FPGA (eFPGA)
Embedded FPGA eFPGA β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π² ΡΠΎΡΡΠ°Π² SoC ΠΈΠ»ΠΈ ASIC, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ FPGA.
π§ ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
eFPGA β ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΠΌΡΠΉ IP-Π±Π»ΠΎΠΊ Π²Π½ΡΡΡΠΈ SoC, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ ΡΡ ΠΎΠΆΠΈΠΉ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ FPGA:
- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΡΠΈΠ² LUT, Flip-Flops, Routing Matrix, BRAM, DSP Blocks
 - ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠΈΠ½Π°ΠΌ SoC: AXI, NoC, O bus
 - ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
 - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π±ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· SPI Flash)
 
eFPGA ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
βοΈ ΠΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ
| ΠΠ±Π»Π°ΡΡΡ | ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ | 
|---|---|
| SoC / ASIC | ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² | 
| Digital Signal Processing DSP | Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ»ΡΡΡΡ, FFT, MAC | 
| Cryptography | ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ | 
| Networking | Packet Classification, Firewall | 
| AI Accelerators | Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΉΡΠΎΡΠ΄ΡΠ° ΠΈΠ»ΠΈ Π²Π΅ΠΊΡΠΎΡΠ° SIMD | 
| Reconfigurable Computing | ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ | 
π» ΠΡΠΈΠΌΠ΅Ρ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² HDL)
module efpga_custom_block(input clk, input [7:0] in, output [7:0] out);
  assign out = in ^ 8'hFF; // ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π²Ρ
ΠΎΠ΄Π°
endmoduleπ Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ eFPGA (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ FPGA)
| ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | 
|---|---|
| LUT | Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ | 
| CLB | ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² | 
| Routing Matrix | Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ | 
| BRAM | ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ | 
| DSP Blocks | Π£ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ, ΡΡΠΌΠΌΠ°ΡΠΎΡΡ | 
| IO Blocks | ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ SoC | 
| Configuration Interface | ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π±ΠΈΡΡΡΡΠΈΠΌΠ° | 
π§© Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
- 
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ SoC Π±Π΅Π· Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
 - 
ΠΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅, ΡΠ΅ΠΌ Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ FPGA
 - 
ΠΠ΅Π½ΡΡΠ°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°: ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠΈΠ½Π°ΠΌ
 - 
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
 
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
- 
ΠΠ΅Π½ΡΡΠ°Ρ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΡΠ΅ΠΌ Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ FPGA
 - 
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ²
 - 
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
 - 
Π’ΡΠ΅Π±ΡΠ΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ IP-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²