Procesory w FPGA 1
System w FPGA SOPC - System on a Programmable Chip System mikroprocesorowy w układzie programowalnym: softprocesor zrealizowany w logice układu FPGA NIOS2 Altera Microblaze Xilinx OpenRISC OpensCores (GP) EON ESTEC (GP) układy FPGA z hardprocesorem układy Altera (Aria V, Cyclone V, Aria 10, Stratix 10) z procesorem ARM układy Xilinx (Zynq-7000 SoC, Zynq UltraScale+ MPSoC) z procesorem ARM 2
Konfigurowalne rdzenie procesora Nios II o 32 bitowej architekturze typu arvard: Fast (/f core): zoptymalizowany pod kątem wydajności z 6 stopniami potoku, opcjonalnie z MMU (Memory Management Unit) lub MPU (Memory Protection Unit), Economy (/e core): zoptymalizowany pod kątem wielkości, darmowy Standard (/s core): zoptymalizowany pod kątem wydajności i wielkości 3
https://www.altera.com/products/processors/features.html 4
rozszerzenia https://www.altera.com/products/processors/features.html 5
narzędzia https://www.altera.com/products/processors/features.html 6
rozszerzenia https://www.altera.com/products/processors/features.html 7
systemy operacyjne 8
konfigurowanie Konfigurowanie softprocesora: dodawanie standardowych komponentów (timer y, kontrolery pamięci, UART, ) dodawanie instrukcji użytkownika custom instruction (do 256) dodawanie komponentów użytkownika custom component 9
konfigurowanie dodawanie komponentów użytkownika custom component dodawanie instrukcji użytkownika custom instruction (do 256) module my_ci ( ); input reset, input clk, input clk_en, input start, input [31:0] dataa, datab, output reg done, output reg [31:0] result 10
schemat blokowy Bloki: wymagane opcjonalne https://www.altera.com/ 11
przykład systemu https://www.altera.com/ 12
Systemy wieloprocesorowe Każdy procesor może mieć własny zbiór funkcji sprzętowych oraz koprocesorów (skalowalność) 13
ardprocesor Altera Altera SoC - procesor ARM (hard processor system (PS) - procesor, peryferia, interfejsy pamięci) połączony z FPGA za pomocą wysokoprzepustowych linii Połączenie wydajności i mocy hardprocesora z logiką programowalną FPGA System SoC zawiera dodatkowo: interfejs PCI Express, kontrolery pamięci wieloportowej, moduły korekcji błędów ECC, moduły zarządzania pamięcią, szybkie transceiver y Układy SoC: Cyclone V SoC - dual-core ARM Cortex-A9 Arria V SoC Arria 10 SoC Stratix 10 SoC - 64 bit quad-core ARM Cortex-A53 (Altera SK for OpenC, SoC Embedded esign Suite (ES)) 14
System SoC płytka E1-SoC http://www.terasic.com.tw FPGA evice: Cyclone V SoC 5CSEMA5F31C6 evice ual-core ARM Cortex-A9 (PS) 85K Programmable ogic Elements 4,450 Kbits embedded memory 6 Fractional Ps 2 ard Memory Controllers Configuration and ebug: Serial Configuration device EPCS128 on FPGA On-Board USB Blaster II (Normal type B USB connector) Memory evice: 64MB (32Mx16) SRAM on FPGA 1GB (2x256Mx16) R3 SRAM on PS Micro S Card Socket on PS Communication: Two Port USB 2.0 ost (UPI interface with USB type A connector) USB to UART (micro USB type B connector) 10/100/1000 Ethernet PS/2 mouse/keyboard IR Emitter/Receiver Price: $249 Academic: $175 15
System Soc płytka E1-SoC http://www.terasic.com.tw 16
System Soc płytka E1-SoC http://www.terasic.com.tw 17
Projekt systemu SoPC prezentacja Projekt systemu z softprocesorem Nios II z instrukcją użytkownika (custom instruction) Oprogramowanie: Quartus2 Web 13.0sp1, Nios II ES Płytka E2-115 18