π 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-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²