informazioni - logoSDK FPGA per OpenCL
Guida per l'utente

UG-OCL009
2017.05.08
Ultimo aggiornamento per Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS Massaggiatore per piedi intelligente WiFi - icona 5Iscriviti
Smartphone SAMSUNG SM A136UZKZAIO Galaxy A13 5G - icona 12Invia feedback

Intel® FPGA SDK per OpenCL™ Intel® Cyclone®V SoC Development Kit Reference Platform Porting Guide

V SoC Development Kit Reference Platform La guida al porting descrive la progettazione hardware e software della piattaforma di riferimento Intel Cyclone V SoC Development Kit (c5soc) da utilizzare con Intel Software Development Kit (SDK) per OpenCL Intel ® FPGA SDK per OpenCL ™ Intel Cyclone ®. Prima di iniziare, Intel consiglia vivamente di familiarizzare con il contenuto dei seguenti documenti:

  1. Intel FPGA SDK per OpenCLIntel Cyclone V SoC Guida introduttiva
  2. Guida per l'utente di Intel FPGA SDK per OpenCL Custom Platform Toolkit
  3. Cyclone V Device Handbook, Volume 3: Hard Processor System Technical Reference Manual Inoltre, fare riferimento alla pagina Cyclone V SoC Development Kit and SoC Embedded Design Suite di Altera websito per ulteriori informazioni. 1 2

Attenzione: Intel presuppone che tu abbia una conoscenza approfondita della Guida per l'utente di Intel FPGA SDK for OpenCL Custom Platform Toolkit. La Guida al porting della piattaforma di riferimento del kit di sviluppo del SoC di Cyclone V non descrive l'utilizzo del kit di strumenti della piattaforma personalizzata dell'SDK per implementare una piattaforma personalizzata per il kit di sviluppo del SoC di Cyclone V. Descrive solo le differenze tra il supporto dell'SDK sul Cyclone V SoC Development Kit e un generico SDK Intel FPGA per OpenCL Custom Platform.

Link correlati

  • Intel FPGA SDK per OpenCL Cyclone V SoC Guida introduttiva
  • Guida per l'utente di Intel FPGA SDK per OpenCL Custom Platform Toolkit
  • Manuale del dispositivo Cyclone V, Volume 3: Manuale di riferimento tecnico del sistema di processori hardware
  • Kit di sviluppo SoC Cyclone V e pagina SoC Embedded Design Suite su Altera websito
  1. OpenCL e il logo OpenCL sono marchi di Apple Inc. utilizzati su autorizzazione di Khronos Group™.
  2. L'SDK Intel FPGA per OpenCL si basa su una specifica Khronos pubblicata e ha superato il processo di test di conformità Khronos. Lo stato di conformità attuale è disponibile all'indirizzo www.khronos.org/conformance.

Società Intel. Tutti i diritti riservati. Intel, il logo Intel, le parole e i loghi Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus e Stratix sono marchi di Intel Corporation o delle sue consociate negli Stati Uniti e/o in altri paesi. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche correnti in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di informazioni, prodotti o servizi qui descritti, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi.
*Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.

1.1.1 Varianti della scheda della piattaforma di riferimento del kit di sviluppo SoC Cyclone V
Intel FPGA SDK per OpenCL Cyclone V SoC Development Kit Reference Platform include due varianti di scheda.

  • scheda c5soc
    Questa scheda predefinita fornisce l'accesso a due banchi di memoria DDR. L'HPS DDR è accessibile sia dall'FPGA che dalla CPU. L'FPGA DDR è accessibile solo dall'FPGA.
  • scheda c5soc_sharedonly
    Questa variante della scheda contiene solo la connettività HPS DDR. L'FPGA DDR non è accessibile. Questa variante della scheda è più efficiente in termini di area perché è necessario meno hardware per supportare un banco di memoria DDR. La scheda c5soc_sharedonly è anche una buona piattaforma di prototipazione per una scheda di produzione finale con un singolo banco di memoria DDR.
    Per indirizzare questa variante della scheda durante la compilazione del kernel OpenCL, includi l'opzione -board c5soc_sharedonly nel comando aoc.
    Per maggiori informazioni su –board opzione del comando aoc, fare riferimento a Intel FPGA SDK for OpenCL Programming Guide.

Link correlati
Compilazione di un kernel per una specifica scheda FPGA (–board )
1.1.2 Contenuto della piattaforma di riferimento del kit di sviluppo SoC Cyclone V
La piattaforma di riferimento del kit di sviluppo SoC Cyclone V è composta da quanto segue filese directory:

File o Rubrica Descrizione
board_env.xml Linguaggio di marcatura estensibile (XML) file che descrive c5soc nell'Intel FPGA SDK per OpenCL.
linux_sd_card_image.tgz Immagine della scheda flash SD compressa file che contiene tutto ciò di cui un utente SDK ha bisogno per utilizzare il kit di sviluppo SoC Cyclone V con l'SDK.
braccio32 Directory che contiene quanto segue:

1.1.3 Caratteristiche rilevanti del kit di sviluppo SoC Cyclone V

L'elenco seguente evidenzia i componenti e le funzionalità del kit di sviluppo SoC Cyclone V rilevanti per Intel FPGA SDK per OpenCL:

  • CPU ARM Cortex-A9 dual-core con Linux a 32 bit.
  • Bus AXI (Advanced eXtensible Interface) tra l'HPS e il core fabric FPGA.
  • Due controller di memoria DDR potenziati, ciascuno connesso a una SDRAM DDR1 da 3 gigabyte (GB).
    — Un controller DDR è accessibile solo al core FPGA (vale a dire, FPGA DDR).
    — L'altro controller DDR è accessibile sia all'HPS che all'FPGA (vale a dire, HPS DDR). Questo controller condiviso consente la condivisione libera della memoria tra la CPU e il core FPGA.
  • La CPU può riconfigurare il core fabric FPGA.

1.1.3.1 Decisioni e obiettivi di progettazione della piattaforma di riferimento del kit di sviluppo SoC Cyclone V Intel basa l'implementazione della piattaforma di riferimento del kit di sviluppo SoC Cyclone V su diversi obiettivi e decisioni di progettazione. Intel consiglia di prendere in considerazione questi obiettivi e decisioni quando si esegue il porting di questa piattaforma di riferimento sulla scheda SoC FPGA.
Di seguito sono riportati gli obiettivi di progettazione di c5soc:

  1. Fornire la massima larghezza di banda possibile tra i kernel sull'FPGA e i sistemi di memoria DDR.
  2. Assicurarsi che i calcoli sull'FPGA (ovvero i kernel OpenCL) non interferiscano con altre attività della CPU che potrebbero includere periferiche di manutenzione.
  3. Lascia quante più risorse FPGA possibili per i calcoli del kernel invece che per i componenti dell'interfaccia.

Di seguito sono riportate le decisioni di progettazione di alto livello che sono le dirette conseguenze degli obiettivi di progettazione di Intel:

  1. La piattaforma di riferimento utilizza solo controller di memoria hard DDR con la configurazione più ampia possibile (256 bit).
  2. L'FPGA comunica direttamente con il controller di memoria HPS DDR, senza coinvolgere il bus AXI e lo switch L3 all'interno dell'HPS. La comunicazione diretta fornisce la migliore larghezza di banda possibile a DDR e impedisce ai calcoli FPGA di interferire con le comunicazioni tra la CPU e la sua periferia.
  3. L'accesso diretto alla memoria a dispersione (SG-DMA) non fa parte della logica dell'interfaccia FPGA. Invece di trasferire grandi quantità di dati tra i sistemi di memoria DDR, memorizza i dati nel DDR HPS condiviso. L'accesso diretto alla memoria della CPU da parte dell'FPGA è più efficiente del DMA. Risparmia risorse hardware (ovvero area FPGA) e semplifica il driver del kernel Linux.
    Avvertimento: Il trasferimento di memoria tra il sistema DDR HPS condiviso e il sistema DDR accessibile solo all'FPGA è molto lento. Se scegli di farlo
    trasferire la memoria in questo modo, utilizzarla solo per quantità di dati molto ridotte.
  4. L'host e il dispositivo eseguono il trasferimento di dati non DMA tra loro tramite il bridge HPS-FPGA (H2F), utilizzando solo una singola porta a 32 bit. Il motivo è che, senza DMA, il kernel Linux può inviare solo una singola richiesta di lettura o scrittura a 32 bit, quindi non è necessario disporre di una connessione più ampia.
  5. L'host invia segnali di controllo al dispositivo tramite un bridge H2F (LH2F) leggero.
    Poiché i segnali di controllo dall'host al dispositivo sono segnali a larghezza di banda ridotta, un bridge LH2F è l'ideale per l'attività.

1.2 Porting della piattaforma di riferimento sulla scheda SoC FPGA
Per eseguire il porting della piattaforma di riferimento del kit di sviluppo SoC Cyclone V sulla scheda FPGA SoC, eseguire le seguenti attività:

  1. Seleziona la versione con una memoria DDR o le due memorie DDR della piattaforma di riferimento c5soc come punto di partenza del tuo progetto.
  2. Aggiorna le posizioni dei pin in ALTERAOCLSDKROOT/board/c5soc/ /superiore.qsf file, dove ALTERAOCLSDKROOT è il percorso della posizione dell'SDK Intel FPGA per l'installazione di OpenCL e è il nome della directory della variante della scheda. La directory c5soc_sharedonly è per la variante della scheda con un sistema di memoria DDR. La directory c5soc è per la variante della scheda con due sistemi di memoria DDR.
  3.  Aggiorna le impostazioni DDR per i blocchi SDRAM HPS e/o FPGA in ALTERAOCLSDKROOT/board/c5soc/ /sistema.qsys file.
    4. Tutti i progetti di schede preferenziali Intel FPGA SDK per OpenCL devono ottenere una chiusura temporizzata garantita. Pertanto, il posizionamento del disegno deve essere cronometrato. Per eseguire il porting della partizione della scheda c5soc (acl_iface_partition.qxp) sulla scheda SoC FPGA, eseguire le seguenti attività:
    Per istruzioni dettagliate su come modificare e preservare la partizione della scheda, fare riferimento a Quartus
    Capitolo Prime Incremental Compilation for Hierarchical and Team-Based Design del Quartus Prime Standard Edition Handbook.
    UN. Rimuovere acl_iface_partition.qxp dalla directory ALTERAOCLSDKROOT/board/c5soc/c5soc.
    B. Abilita la regione LogicLock™ acl_iface_region modificando il comando Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region in set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    C. Compila un kernel OpenCL per la tua scheda.
    D. Se necessario, regolare le dimensioni e la posizione della regione LogicLock.
    e. Quando sei sicuro che il posizionamento del tuo progetto sia pulito, esporta quella partizione come acl_iface_partition.qxp Quartus Prime Exported Partition File.
    Come descritto nella sezione Stabilire un flusso di temporizzazione garantito della Guida per l'utente di AIntel FPGA SDK for OpenCL Custom Platform Toolkit, importando questo file .qxp  file nella progettazione di livello superiore, soddisfi il requisito di fornire una progettazione della scheda con un flusso di chiusura temporale garantito.
    Per i fattori che potrebbero influire sulla qualità dei risultati (QoR) della partizione esportata, fare riferimento alla sezione Considerazioni generali sulla qualità dei risultati per la partizione della scheda esportata nella Guida per l'utente di Intel FPGA SDK for OpenCL Custom Platform Toolkit.
    F. Disabilita la regione LogicLock acl_iface_region ripristinando il comando nel passaggio 2 su set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Se la tua scheda SoC FPGA utilizza pin e periferiche differenti del blocco HPS, rigenera il preloader e la sorgente dell'albero dei dispositivi (DTS) file. Se si modificano le impostazioni del controller di memoria HPS DDR, rigenerare il preloader.
  5. Crea l'immagine della scheda flash SD.
  6. Crea la tua piattaforma personalizzata, che include l'immagine della scheda flash SD.
  7. Prendi in considerazione la creazione di una versione dell'ambiente di runtime della tua piattaforma personalizzata da utilizzare con Intel FPGA Runtime Environment (RTE) per OpenCL. La versione RTE della tua piattaforma personalizzata non include le directory hardware e l'immagine della scheda flash SD. Questa piattaforma personalizzata viene caricata sul sistema SoC FPGA per consentire l'esecuzione delle applicazioni host. Al contrario, la versione SDK della piattaforma personalizzata è necessaria affinché l'SDK compili i kernel OpenCL.
    Suggerimento: puoi utilizzare la versione SDK della tua piattaforma personalizzata per RTE. Salvare
    space, rimuovi l'immagine della scheda flash SD dalla versione RTE della tua piattaforma personalizzata.
  8. Testa la tua piattaforma personalizzata.
    Per ulteriori informazioni, fare riferimento alla sezione Testing the Hardware Design della Intel FPGA SDK for OpenCL Custom Platform Toolkit User Guide.

Link correlati

  • Testare la progettazione dell'hardware
  • Compilazione incrementale di Quartus Prime per la progettazione gerarchica e basata sul team
  • Stabilire un flusso temporale garantito
  • Considerazioni generali sulla qualità dei risultati per la partizione della scheda esportata

1.2.1 Aggiornamento di una piattaforma di riferimento trasferita
Nella versione corrente della piattaforma di riferimento del kit di sviluppo SoC Cyclone V, il blocco HPS si trova all'interno della partizione che definisce tutta la logica non kernel. Tuttavia, non è possibile esportare l'HPS come parte del file .qxp file. Per aggiornare una piattaforma personalizzata esistente che hai modificato da una versione precedente di c5soc, implementa il flusso di conservazione QXP, aggiorna l'immagine della scheda flash SD per ottenere l'ambiente di runtime più recente e aggiorna board_spec.xml file per abilitare la migrazione automatica.
Altera® SDK per OpenCL versione 14.1 e successive analizza il board_spec.xml file per le informazioni sulla scheda e implementa gli aggiornamenti automatici. Perché modifichi il file
design implementando il flusso di conservazione QXP, è necessario aggiornare board_spec.xml file al suo formato nella versione corrente. Aggiornamento del file consente all'SDK di distinguere tra piattaforme personalizzate non preservate e le attuali piattaforme personalizzate basate su QXP. Per ulteriori informazioni, fare riferimento a Custom Platform Automigration for Forward Compatibility in Intel FPGA SDK for OpenCL Custom Platform Toolkit User Guide.

  1. Per implementare il flusso di conservazione QXP in un progetto hardware Cyclone V SoC FPGA portato da una versione precedente di c5soc, eseguire i seguenti passaggi per creare una sottopartizione per escludere l'HPS dal .qxp file:
    UN. Prima di creare una partizione attorno alla logica non kernel, crea una partizione attorno all'HPS nel file .qsf Quartus Prime Settings File.
    Per esempioampon:
    # Partizionare manualmente l'istanza che modella l'I/O dedicato a HPS set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -to “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps_0_hps_io:hps_io| system_acl_iface_hps_0_hps_io_border:border” -section_id “system_acl_iface_hps_0_hps_io_border:border”
    # Imposta la partizione in modo che sia un tipo HPS_PARTITION per essere elaborata correttamente dal resto di Quartus
    set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border:border"
    quartus_cdb in alto -c in alto
    –incremental_compilation_export=acl_iface_partition.qxp
    –incremental_compilation_export_partition_name=acl_iface_partition
    –incremental_compilation_export_post_synth=on
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=attivo
    –incremental_compilation_export_flatten=disattivato
    Dopo aver escluso l'HPS dalla partizione, puoi importare il file .qxp file e compila il tuo progetto.
  2. Aggiorna l'immagine della scheda flash SD con la versione corrente di Intel FPGA RTE per OpenCL eseguendo le seguenti attività:
    UN. Montare il file tabella di allocazione (fat32) ed estesa file partizioni di sistema (ext3) nell'immagine esistente come dispositivi di loopback. Per istruzioni dettagliate, fare riferimento al passaggio 2 in Creazione di un'immagine della scheda flash SD.
    B. Nella directory /home/root/opencl_arm32_rte, rimuovere il file files dalla versione precedente di RTE.
    C. Scaricare e decomprimere la versione corrente di RTE nella directory /home/root/opencl_arm32_rte.
    D. Nel /driver/versione.h file della tua piattaforma personalizzata, aggiorna l'assegnazione ACL_DRIVER_VERSION a . (ad esample, 16.1.x, dove 16.1 è la versione dell'SDK e x è la versione del driver impostata).
    e. Ricostruisci il driver.
    F. Elimina le cartelle hardware della tua piattaforma personalizzata. Copia la piattaforma personalizzata, insieme al driver aggiornato, nella directory /home/root/opencl_arm_rte/board.
    G. Copia il file Altera.icd file dalla directory /home/root/opencl_arm32_rte e aggiungerlo alla directory /etc/OpenCL/vendors.
    H. Smonta e prova la nuova immagine. Per istruzioni dettagliate, fare riferimento ai passaggi da 8 a 11 in Creazione di un'immagine di una scheda flash SD.

Link correlati

  • Creazione di un'immagine di una scheda flash SD a pagina 14
    Hai anche la possibilità di creare una nuova immagine della scheda flash SD.
  • Automigrazione della piattaforma personalizzata per la compatibilità futura

1.3 Supporto software per la memoria condivisa
La memoria fisica condivisa tra FPGA e CPU è la memoria preferita per i kernel OpenCL in esecuzione su SoC FPGA. Poiché l'FPGA accede alla memoria fisica condivisa, al contrario della memoria virtuale condivisa, non ha accesso alle tabelle delle pagine della CPU che mappano gli indirizzi virtuali degli utenti agli indirizzi delle pagine fisiche.
Per quanto riguarda l'hardware, i kernel OpenCL accedono alla memoria fisica condivisa tramite connessione diretta al controller di memoria hardware HPS DDR. Per quanto riguarda il software, il supporto per la memoria fisica condivisa implica le seguenti considerazioni:

  1. Tipiche implementazioni software per l'allocazione della memoria sulla CPU (ad esample, la funzione malloc()) non può allocare una regione di memoria che l'FPGA potrebbe utilizzare.
    La memoria allocata dalla funzione malloc() è contigua nello spazio degli indirizzi della memoria virtuale, ma è improbabile che qualsiasi pagina fisica sottostante sia contigua fisicamente. Pertanto, l'host deve essere in grado di allocare regioni di memoria fisicamente contigue. Tuttavia, questa capacità non esiste nelle applicazioni in spazio utente su Linux. Pertanto, il driver del kernel Linux deve eseguire l'allocazione.
  2. Il driver del kernel OpenCL SoC FPGA Linux include la funzione mmap() per allocare la memoria fisica condivisa e mapparla nello spazio utente. La funzione mmap() utilizza la chiamata standard del kernel Linux dma_alloc_coherent() per richiedere regioni di memoria fisicamente contigue per la condivisione con un dispositivo.
  3. Nel kernel Linux predefinito, dma_alloc_coherent() non alloca memoria fisicamente contigua di dimensioni superiori a 0.5 megabyte (MB). Per consentire a dma_alloc_coherent() di allocare grandi quantità di memoria fisicamente contigua, abilitare la funzionalità di allocatore di memoria contigua (CMA) del kernel Linux e quindi ricompilare il kernel Linux.
    Per la piattaforma di riferimento del kit di sviluppo SoC Cyclone V, CMA gestisce 512 MB su 1 GB di memoria fisica. È possibile aumentare o diminuire questo valore, a seconda della quantità di memoria condivisa richiesta dall'applicazione. La chiamata dma_alloc_coherent() potrebbe non essere in grado di allocare tutti i 512 MB di memoria fisicamente contigua; tuttavia, può ottenere regolarmente circa 450 MB di memoria.
  4. La CPU può memorizzare nella cache la memoria allocata dalla chiamata dma_alloc_coherent(). In particolare, le operazioni di scrittura dall'applicazione host non sono visibili ai kernel OpenCL. La funzione mmap() nel driver del kernel OpenCL SoC FPGA Linux contiene anche chiamate alla funzione pgprot_noncached() o remap_pf_range() per disabilitare esplicitamente la memorizzazione nella cache per questa regione di memoria.
  5. Dopo che la funzione dma_alloc_coherent() ha allocato la memoria fisicamente contigua, la funzione mmap() restituisce l'indirizzo virtuale all'inizio dell'intervallo, che è l'intervallo di indirizzi della memoria allocata. L'applicazione host richiede questo indirizzo virtuale per accedere alla memoria. D'altra parte, i kernel OpenCL richiedono indirizzi fisici. Il driver del kernel Linux tiene traccia della mappatura degli indirizzi da virtuale a fisico. È possibile mappare gli indirizzi fisici che mmap() restituisce agli indirizzi fisici effettivi aggiungendo una query al driver.
    La chiamata API (Application Programming Interface) MMD aocl_mmd_shared_mem_alloc() incorpora le seguenti query:
    UN. La funzione mmap() che alloca memoria e restituisce l'indirizzo virtuale.
    B. La query aggiuntiva che associa l'indirizzo virtuale restituito all'indirizzo fisico.
    La chiamata API MMD aocl_mmd_shared_mem_alloc() restituisce quindi due indirizzi
    —l'effettivo indirizzo restituito è l'indirizzo virtuale e l'indirizzo fisico va a device_ptr_out.
    Nota: Il driver può mappare solo gli indirizzi virtuali che la funzione mmap() restituisce agli indirizzi fisici. Se richiedi l'indirizzo fisico di qualsiasi altro puntatore virtuale, il driver restituisce un valore NULL.

Avvertimento: L'SDK Intel FPGA per le librerie di runtime OpenCL presuppone che la memoria condivisa sia la prima memoria elencata in board_spec.xml file. In altre parole, l'indirizzo fisico ottenuto dal driver del kernel Linux diventa l'indirizzo Avalon® che il kernel OpenCL passa alla HPS SDRAM.
Per quanto riguarda la libreria di runtime, utilizzare la chiamata clCreateBuffer() per allocare la memoria condivisa come buffer del dispositivo nel modo seguente:

  • Per la variante della scheda a due DDR con memoria condivisa e non condivisa, clCreateBuffer() alloca la memoria condivisa se specifichi il flag CL_MEM_USE_HOST_PTR. L'utilizzo di altri flag fa sì che clCreateBuffer() allochi il buffer nella memoria non condivisa.
  • Per la variante con una scheda DDR con solo memoria condivisa, clCreateBuffer() alloca la memoria condivisa indipendentemente dal flag specificato.
    Attualmente, il supporto di Linux a 32 bit su CPU ARM regola l'estensione del supporto della memoria condivisa nelle librerie di runtime dell'SDK. In altre parole, le librerie di runtime compilate in altri ambienti (ad esample, x86_64 Linux o Windows a 64 bit) non supportano la memoria condivisa.
    C5soc non ha implementato la memoria eterogenea per distinguere tra memoria condivisa e non condivisa per i seguenti motivi:
    1. Cronologia: il supporto della memoria eterogenea non era disponibile quando è stato originariamente creato il supporto della memoria condivisa.
    2. Interfaccia uniforme: poiché OpenCL è uno standard aperto, Intel mantiene la coerenza tra fornitori di piattaforme informatiche eterogenee. Pertanto, per allocare e utilizzare la memoria condivisa viene utilizzata la stessa interfaccia delle architetture di altri fornitori di schede.

1.4 Riconfigurazione dell'FPGA
Per gli FPGA SoC, la CPU può riconfigurare il core fabric dell'FPGA senza interrompere il funzionamento della CPU. Il blocco hardware FPGA Manager che si trova a cavallo tra l'HPS e il core FPGA esegue la riconfigurazione. Il kernel Linux include un driver che consente un facile accesso a FPGA Manager.

  • A view lo stato del core FPGA, richiamare il comando cat /sys/class/fpga/fpga0/ status.
    L'utility del programma Intel FPGA SDK per OpenCL disponibile con la piattaforma di riferimento del kit di sviluppo SoC Cyclone V utilizza questa interfaccia per programmare l'FPGA. Quando si riprogramma un core FPGA con una CPU in esecuzione, l'utility del programma esegue tutte le seguenti attività:
    1. Prima della riprogrammazione, disabilitare tutti i bridge di comunicazione tra l'FPGA e l'HPS, sia H2F che LH2F.
    Riabilita questi ponti al termine della riprogrammazione.
    Attenzione: il sistema OpenCL non utilizza il bridge FPGA-to-HPS (F2H). Fare riferimento alla sezione Interfacce HPS-FPGA nel Manuale del dispositivo Cyclone V, Volume 3: Manuale di riferimento tecnico del sistema di processori hardware per ulteriori informazioni.
    2. Assicurarsi che il collegamento tra l'FPGA e il controller HPS DDR sia disabilitato durante la riprogrammazione.
    3. Assicurarsi che gli interrupt FPGA sull'FPGA siano disabilitati durante la riprogrammazione.
    Inoltre, notificare al driver di rifiutare qualsiasi interruzione dall'FPGA durante la riprogrammazione.

Consultare il codice sorgente dell'utility del programma per i dettagli sull'effettiva implementazione.

Avvertimento: Non modificare la configurazione del controller HPS DDR quando la CPU è in esecuzione.
Ciò potrebbe causare un errore irreversibile del sistema perché potresti modificare la configurazione del controller DDR quando ci sono transazioni di memoria in sospeso dalla CPU. Ciò significa che quando la CPU è in esecuzione, non è possibile riprogrammare il core FPGA con un'immagine che utilizza HPS DDR in una configurazione diversa.
Ricorda che il sistema OpenCL e il progetto di riferimento Golden Hardware disponibile con Intel SoC FPGA Embedded Design Suite (EDS), imposta HPS DDR in una singola modalità a 256 bit.
Le parti del sistema della CPU come il predittore di branch o il prefetcher della tabella delle pagine potrebbero emettere comandi DDR anche quando sembra che sulla CPU non sia in esecuzione nulla.
Pertanto, il momento dell'avvio è l'unico momento sicuro per impostare la configurazione del controller HPS DDR.
Ciò implica anche che U-boot deve avere un binario grezzo file (.rbf) immagine da caricare in memoria. In caso contrario, potresti abilitare HPS DDR con porte inutilizzate sull'FPGA e quindi potenzialmente modificare le configurazioni delle porte in seguito. Per questo motivo, il driver del kernel OpenCL Linux non include più la logica necessaria per impostare la configurazione del controller HPS DDR.
Il pacchetto SW3 dual in-line (DIP) attiva il kit di sviluppo SoC Cylone V controllando la forma prevista dell'immagine .rbf (ovvero, se il file è compresso e/o crittografato). C5soc e il Golden Hardware Reference Design disponibili con il SoC EDS includono immagini .rbf compresse ma non crittografate. Le impostazioni del commutatore DIP SW3 descritte nella Guida introduttiva all'SDK Intel FPGA per SoC OpenCL Cyclone V corrispondono a questa configurazione dell'immagine .rbf.

Link correlati

  • Interfacce HPS-FPGA
  • Configurazione degli switch SW3

1.4.1 Dettagli sull'architettura del sistema FPGA
Il supporto per la piattaforma di riferimento del kit di sviluppo SoC Cyclone V si basa sulla piattaforma di riferimento Stratix® V (s5_ref), disponibile con Intel FPGA SDK per OpenCL.
L'organizzazione generale del sistema c5soc Qsys e il driver del kernel sono molto simili a quelli in s5_ref.
I seguenti componenti principali FPGA sono gli stessi sia in c5soc che in s5_ref:

  • Blocco VERSION_ID
  • Meccanismo di riposo
  • Divisore banco di memoria
  • Interfaccia di snoop della cache
  • Orologio del nocciolo
  • Blocchi di accesso al registro di controllo (CRA).

1.5 Creazione di un'immagine della scheda flash SD
Poiché Cyclone V SoC FPGA è un sistema completo su un chip, sei responsabile di fornire la definizione completa del sistema. Intel consiglia di consegnarlo sotto forma di un'immagine della scheda flash SD. L'SDK Intel FPGA per l'utente OpenCL può semplicemente scrivere l'immagine sulla scheda flash micro SD e la scheda SoC FPGA è pronta per l'uso.
Modifica dell'immagine di una scheda flash SD esistente a pagina 13
Intel consiglia di modificare semplicemente l'immagine disponibile con la piattaforma di riferimento del kit di sviluppo SoC Cyclone V. Hai anche la possibilità di creare una nuova immagine della scheda flash SD.
Creazione di un'immagine di una scheda flash SD a pagina 14
Hai anche la possibilità di creare una nuova immagine della scheda flash SD.

1.5.1 Modifica dell'immagine di una scheda flash SD esistente
Intel consiglia di modificare semplicemente l'immagine disponibile con il Cyclone V SoC
Piattaforma di riferimento del kit di sviluppo. Hai anche la possibilità di creare una nuova immagine della scheda flash SD.
L'immagine c5soc linux_sd_card_image.tgz file è disponibile nella directory ALTERAOCLSDKROOT/board/c5soc, dove ALTERAOCLSDKROOT punta al percorso dell'SDK Intel FPGA per la directory di installazione di OpenCL.

Attenzione: Per modificare l'immagine della scheda flash SD, è necessario disporre dei privilegi di root o sudo.

  1. Per decomprimere $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, eseguire il comando tar xvfzlinux_sd_card_image.tgz.
  2. Compila il file hello_world OpenCL example design utilizzando il supporto della tua piattaforma personalizzata. Rinominare il file .rbf file che Intel FPGA SDK for OpenCL Offline Compiler genera come opencl.rbf e posizionarlo nella partizione fat32 all'interno dell'immagine della scheda flash SD.
    Puoi scaricare il file hello_world example design da OpenCL Design Examples pagina sull'Altera websito.
  3. Posiziona il file .rbf file nella partizione fat32 dell'immagine della scheda flash.
    Attenzione: La partizione fat32 deve contenere sia il file zImage file e il .rbf file. Senza un .rbf file, si verificherà un errore irreversibile quando si inserisce il driver.
  4. Dopo aver creato l'immagine della scheda SD, scrivila su una scheda micro SD invocando il seguente comando: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Per testare l'immagine della scheda flash SD, eseguire le seguenti attività:
    UN. Inserire la scheda flash micro SD nella scheda SoC FPGA.
    B. Accendi la scheda.
    C. Richiamare il comando dell'utilità di diagnosi aocl.

1.5.2 Creazione di un'immagine della scheda flash SD
Hai anche la possibilità di creare una nuova immagine della scheda flash SD. Le istruzioni generiche sulla creazione di una nuova immagine della scheda flash SD e sulla ricostruzione di un'immagine della scheda flash SD esistente sono disponibili nella pagina GSRD v14.0.2 - Scheda SD di RocketBoards.org websito.
I passaggi seguenti descrivono la procedura per creare l'immagine linux_sd_card_image.tgz dall'immagine della scheda flash SD Golden System Reference Design (GSRD):
Nota:
Per creare l'immagine dall'immagine c5soc, eseguire tutte le attività applicabili descritte in questa procedura.

  1. Scarica e decomprimi l'immagine della scheda flash SD GSRD versione 14.0 da Rocketboards.org.
  2. Montare il file tabella di allocazione (fat32) ed estesa file partizioni di sistema (ext3) in questa immagine come dispositivi di loopback. Per montare una partizione, attenersi alla seguente procedura:
    UN. Determina l'inizio del byte della partizione all'interno dell'immagine invocando /sbin/fdisk -lu image_file comando.
    Per esempioample, la partizione numero 1 di tipo W95 FAT ha un offset di blocco di 2121728. Con 512 byte per blocco, l'offset di byte è 512 byte x 2121728 = 1086324736 byte.
    B. Identificare un dispositivo a loop libero (ad esample, /dev/loop0) digitando il comando losetup -f.
    C. Supponendo che /dev/loop0 sia il dispositivo di loop gratuito, assegna l'immagine della tua scheda flash al dispositivo di blocco del loop invocando l'immagine losetup /dev/loop0_file -0 1086324736 comando.
    D. Montare il dispositivo loop richiamando il comando mount /dev/loop0 /media/disk1.
    All'interno dell'immagine file, /media/disk1 ora è una partizione fat32 montata.
    e. Ripetere i passaggi da a a d per la partizione ext3.
  3. Scarica la versione Cyclone V SoC FPGA del pacchetto Intel FPGA Runtime Environment per OpenCL dal Download Center su Altera websito.
    UN. Fare clic sul pulsante Download accanto all'edizione del software Quartus Prime.
    B. Specificare la versione di rilascio, il sistema operativo e il metodo di download.
    C. Fare clic sulla scheda Software aggiuntivo e selezionare per scaricare Intel FPGA
    Ambiente di runtime per OpenCL Linux Cyclone V SoC TGZ.
    D. Dopo aver scaricato aocl-rte- .arm32.tgz file, decomprimilo in
    una directory di tua proprietà.
  4. Posizionare il disimballato aocl-rte- .arm32 directory nella directory /home/root/opencl_arm32_rte sulla partizione ext3 dell'immagine file.
  5. Elimina le cartelle hardware della tua piattaforma personalizzata, quindi posiziona la piattaforma personalizzata nella sottodirectory della scheda di /home/root/opencl_arm32_rte.
  6. Crea il file init_opencl.sh file nella directory /home/root con il seguente contenuto: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ export PATH=$ALTERAOCLSDKROOT/bin:$PATH export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    L'utente dell'SDK esegue il comando source ./init_opencl.sh per caricare le variabili di ambiente e il driver del kernel OpenCL Linux.
  7. Se è necessario aggiornare il preloader, DTS files, o il kernel Linux, è necessario il compilatore arm-linux-gnueabihf-gcc dal SoC EDS. Seguire le istruzioni descritte nella Guida per l'utente di Intel SoC FPGA Embedded Design Suite per acquisire il software, ricompilarli e aggiornare i relativi files sulla partizione fat32 montata.
    Attenzione: È molto probabile che tu debba aggiornare il preloader se la tua piattaforma personalizzata ha utilizzi di pin diversi rispetto a quelli in c5soc.
    Ricorda: se ricompili il kernel Linux, ricompila il driver del kernel Linux con la stessa sorgente del kernel Linux fileS. Se c'è una mancata corrispondenza tra il driver del kernel Linux e il kernel Linux, il driver non verrà caricato. Inoltre, è necessario abilitare il CMA.
    Fare riferimento a Ricompilazione del kernel Linux per ulteriori informazioni.
  8. Compila il file hello_world OpenCL example design utilizzando il supporto della tua piattaforma personalizzata. Rinominare il file .rbf file che Intel FPGA SDK for OpenCL Offline Compiler genera come opencl.rbf e posizionarlo nella partizione fat32 all'interno dell'immagine della scheda flash SD.
    Puoi scaricare il file hello_world example design da OpenCL Design Examples pagina sull'Altera websito.
    9. Dopo aver memorizzato tutto il necessario files sull'immagine della scheda flash, invocare i seguenti comandi:
    UN. sincronizzazione
    B. smonta /media/disco1
    C. smontare Dove è il nome della directory che usi per montare la partizione ext3 in 3 a pagina 3 (ad esample, /media/disco2).
    D. losetup -d /dev/loop0
    e. lossetup -d /dev/loop1
  9. Comprimere l'immagine della scheda flash SD invocando il seguente comando: tar cvfz .tgz linux_sd_card_image
  10. Consegna il .tgz file all'interno della directory principale della tua piattaforma personalizzata.
  11. Per testare l'immagine della scheda flash SD, eseguire le seguenti attività:
    UN. Scrivi l'immagine non compressa risultante su una scheda flash micro SD.
    B. Inserire la scheda flash micro SD nella scheda SoC FPGA.
    C. Accendi la scheda.
    D. Richiamare il comando dell'utilità di diagnosi aocl.

Link correlati

  • Guida per l'utente di Intel SoC FPGA Embedded Design Suite
  • OpenCL Design Esamples pagina sull'Altera websito
  • Ricompilazione del kernel Linux a pagina 16
    Per abilitare il CMA, devi prima ricompilare il kernel di Linux.
  • Interrogazione del nome del dispositivo della scheda FPGA (diagnosi)

1.6 Compilazione del kernel Linux per Cyclone V SoC FPGA
Prima di eseguire le applicazioni OpenCL sulla scheda Cyclone V SoC FPGA, è necessario compilare il sorgente del kernel Linux e compilare e installare il driver del kernel OpenCL Linux.

  1. Ricompilazione del kernel Linux a pagina 16
    Per abilitare il CMA, devi prima ricompilare il kernel di Linux.
  2. Compilazione e installazione del driver del kernel OpenCL Linux a pagina 17 Compilare il driver del kernel OpenCL Linux rispetto al sorgente del kernel compilato.

1.6.1 Ricompilare il kernel Linux
Per abilitare il CMA, devi prima ricompilare il kernel di Linux.

  1. Fare clic sul collegamento GSRD v14.0 – Compiling Linux nella pagina Risorse di RocketBoards.org website per accedere alle istruzioni su come scaricare e ricompilare il codice sorgente del kernel Linux.
    Per l'utilizzo con™ Intel FPGA SDK per OpenCL, specificare socfpga-3.13-rel14.0 come .
  2. Nota: il processo di compilazione crea il file arch/arm/configs/socfpga_defconfig file. Questo file specifica le impostazioni per la configurazione predefinita di socfpga.
    Aggiungi le seguenti righe in fondo al file arch/arm/configs/socfpga_defconfig file.
    CONFIG_MEMORY_ISOLATION=y
    CONFIG_CMA=y
    CONFIG_DMA_CMA=a
    CONFIG_CMA_DEBUG=a
    CONFIG_CMA_SIZE_MBYTES=512
    CONFIG_CMA_SIZE_SEL_MBYTES=a
    CONFIG_CMA_ALIGNMENT=8
    CONFIG_CMA_AREE=7
    Il valore di configurazione CONFIG_CMA_SIZE_MBYTES imposta il limite superiore del numero totale di memoria fisicamente contigua disponibile. È possibile aumentare questo valore se è necessaria più memoria.
  3. Attenzione: La quantità totale di memoria fisica disponibile per il processore ARM sulla scheda SoC FPGA è di 1 GB. Intel sconsiglia di impostare il gestore CMA vicino a 1 GB.
  4. Eseguire il comando make mrproper per pulire la configurazione corrente.
  5. Eseguire il comando make ARCH=arm socfpga_deconfig.
    ARCH=arm indica che si desidera configurare l'architettura ARM.
    socfpga_defconfig indica che si desidera utilizzare la configurazione predefinita di socfpga.
  6. Eseguire il comando export CROSS_COMPILE=arm-linux-gnueabihf-.
    Questo comando imposta la variabile di ambiente CROSS_COMPILE per specificare il prefisso della catena di strumenti desiderata.
  7. Eseguire il comando make ARCH=arm zImage. L'immagine risultante è disponibile in arch/arm/boot/zImage file.
  8. Posiziona zImage file nella partizione fat32 dell'immagine della scheda flash. Per istruzioni dettagliate, fare riferimento al Manuale utente GSRD specifico per Cyclone V SoC FPGA su Rocketboards.org.
  9. Nota: per inserire correttamente il driver del kernel OpenCL Linux, caricare prima un file SDKgenerated.rbf file sull'FPGA.
    Per creare il file .rbf file, compila un progetto SDK, ad esample con la piattaforma di riferimento del kit di sviluppo SoC Cyclone V come piattaforma personalizzata mirata.
    9. Posizionare il file .rbf file nella partizione fat32 dell'immagine della scheda flash.
    Attenzione: la partizione fat32 deve contenere sia il file zImage file e il .rbf file. Senza un .rbf file, si verificherà un errore irreversibile quando si inserisce il driver.
  10. Inserire la scheda micro SD programmata, che contiene l'immagine della scheda SD modificata o creata in precedenza, nel kit di sviluppo SoC Cyclone V, quindi accendere la scheda FPGA SoC.
  11. Verificare la versione del kernel Linux installato eseguendo il comando uname -r.
  12. Per verificare di aver abilitato correttamente il CMA nel kernel, con la scheda SoC FPGA accesa, eseguire il comando grep init_cma /proc/kallsyms.
    CMA è abilitato se l'output non è vuoto.
  13. Per utilizzare il kernel Linux ricompilato con l'SDK, compilare e installare il driver del kernel Linux.

Link correlati

  • Manuali per l'utente del Golden System Reference Design (GSRD).
  • Creazione di un'immagine di una scheda flash SD a pagina 13
    Poiché Cyclone V SoC FPGA è un sistema completo su un chip, sei responsabile di fornire la definizione completa del sistema.

1.6.2 Compilazione e installazione del driver del kernel OpenCL Linux
Compilare il driver del kernel OpenCL Linux rispetto al sorgente del kernel compilato.

L'origine del driver è disponibile nella versione Cyclone V SoC FPGA di Intel FPGA Runtime Environment per OpenCL. Inoltre, assicurati di aver caricato un Intel FPGA SDK per il file .rbf generato da OpenCL file nell'FPGA per impedire l'installazione errata del modulo del kernel Linux.

  1. Scarica la versione Cyclone V SoC FPGA del pacchetto Intel FPGA Runtime Environment per OpenCL dal Download Center su Altera websito.
    UN. Fare clic sul pulsante Download accanto all'edizione del software Quartus Prime.
    B. Specificare la versione di rilascio, il sistema operativo e il metodo di download.
    C. Fare clic sulla scheda Software aggiuntivo e selezionare per scaricare Intel FPGA
    Ambiente di runtime per OpenCL Linux Cyclone V SoC TGZ.
    D. Dopo aver scaricato aocl-rte- .arm32.tgz file, decomprimilo in
    una directory di tua proprietà.
    La fonte del driver è nel file aocl-rte- .arm32/board/c5soc/ directory del driver.
  2. Per ricompilare il driver del kernel OpenCL Linux, impostare il valore KDIR nel Make del driverfile nella directory contenente i sorgenti del kernel Linux files.
  3. Esegui il comando export CROSS_COMPILE=arm-linux-gnueabihf- per indicare il prefisso della tua tool chain.
  4. Eseguire il comando make clean.
  5. Eseguire il comando make per creare il file aclsoc_drv.ko file.
  6. Trasferisci la directory opencl_arm32_rte sulla scheda FPGA Cyclone V SoC.
    Eseguendo scp -r root@tuo-indirizzo-ip: Il comando inserisce l'ambiente di runtime nella directory/home/root.
  7. Esegui lo script init_opencl.sh che hai creato quando hai creato l'immagine della scheda SD.
  8.  Richiamare il comando dell'utilità di diagnosi aocl. Il programma di utilità di diagnosi restituirà un risultato positivo dopo aver eseguito correttamente init_opencl.sh.

1.7 Problemi noti
Attualmente, esistono alcune limitazioni sull'utilizzo di Intel FPGA SDK per OpenCL con la piattaforma di riferimento del kit di sviluppo SoC Cyclone V.

  1. Non è possibile sovrascrivere i nomi del fornitore e della scheda riportati dalle stringhe CL_DEVICE_VENDOR e CL_DEVICE_NAME della chiamata clGetDeviceInfo().
  2. Se l'host alloca memoria costante nel sistema DDR condiviso (ovvero HPS DDR) e modifica la memoria costante dopo l'esecuzione del kernel, i dati in memoria potrebbero diventare obsoleti. Questo problema sorge perché il core FPGA non può curiosare nelle transazioni CPU-to-HPS DDR.
    Per impedire alle successive esecuzioni del kernel di accedere a dati obsoleti, implementare una delle seguenti soluzioni alternative:
    • Non modificare la memoria costante dopo la sua inizializzazione.
    • Se sono necessarie più serie di dati __constant, creare più buffer di memoria costante.
    • Se disponibile, allocare memoria costante nel DDR FPGA sulla scheda acceleratrice.
  3. L'utilità SDK su ARM supporta solo il programma e diagnostica i comandi dell'utilità.
    I comandi di utilità flash, installazione e disinstallazione non sono applicabili al kit di sviluppo SoC Cyclone V per i seguenti motivi:
    UN. L'utilità di installazione deve compilare il driver del kernel Linux aclsoc_drv e abilitarlo sul SoC FPGA. La macchina di sviluppo deve eseguire la compilazione; tuttavia, contiene già i sorgenti del kernel Linux per il SoC FPGA. I sorgenti del kernel Linux per la macchina di sviluppo sono diversi da quelli per il SoC FPGA. La posizione delle fonti del kernel Linux per il SoC FPGA è probabilmente sconosciuta all'utente dell'SDK. Allo stesso modo, anche l'utilità di disinstallazione non è disponibile per il Cyclone V SoC Development Kit.
    Inoltre, fornire aclsoc_drv alla scheda SoC è impegnativo perché la distribuzione predefinita del kit di sviluppo SoC Cyclone V non contiene il kernel Linux include files o il compilatore GNU Compiler Collection (GCC).
    B. L'utilità flash richiede l'inserimento di un file .rbf file di un progetto OpenCL sulla partizione FAT32 della scheda flash micro SD. Attualmente, questa partizione non è montata quando l'utente dell'SDK accende la scheda. Pertanto, il modo migliore per aggiornare la partizione è utilizzare un lettore di schede flash e la macchina di sviluppo.
  4. Quando si passa dall'eseguibile dell'SDK Intel FPGA per OpenCL Offline Compiler files (.aocx) che corrispondono a diverse varianti di scheda (ovvero c5soc e c5soc_sharedonly), è necessario utilizzare l'utilità del programma dell'SDK per caricare il file .aocx file per la prima volta per la nuova variante di tavola. Se si esegue semplicemente l'applicazione host utilizzando una nuova variante di scheda ma l'FPGA contiene l'immagine di un'altra variante di scheda, potrebbe verificarsi un errore irreversibile.
  5. Il file .qxp file non include le assegnazioni della partizione dell'interfaccia perché il software Quartus Prime soddisfa costantemente i requisiti di temporizzazione di questa partizione.
  6. Quando accendi la scheda, il suo indirizzo MAC (Media Access Control) viene impostato su un numero casuale. Se il tuo criterio LAN non consente questo comportamento, imposta l'indirizzo MAC eseguendo le seguenti attività:
    UN. Durante l'accensione di U-Boot, premere un tasto qualsiasi per accedere al prompt dei comandi di U-Boot.
    B. Digita setenv ethaddr 00:07:ed:00:00:03 al prompt dei comandi.
    Puoi scegliere qualsiasi indirizzo MAC.
    C. Digita il comando saveenv.
    D. Riavvia la scheda.

1.8 Cronologia delle revisioni del documento
Tabella 1.
Cronologia delle revisioni del documento dell'SDK Intel FPGA per OpenCL Cyclone V SoC
Guida al porting della piattaforma di riferimento del kit di sviluppo

Data Versione Cambiamenti
Maggio-17 2017.05.08 •Rilascio di manutenzione.
Ottobre 2016 2016.10.31 •Altera SDK rinominato per OpenCL in Intel FPGA SDK per OpenCL.
• Rinominato Altera Offline Compiler in Intel FPGA SDK per OpenCL Offline Compiler.
Maggio-16 2016.05.02 •Modificate le istruzioni sulla creazione e la modifica di un'immagine della scheda flash SD.
•Modificate le istruzioni sulla ricompilazione del kernel Linux e del driver del kernel OpenCL Linux.
Novembre-15 2015.11.02 • Rilascio di manutenzione e istanze modificate di Quartus II in Quartus Prime.
Maggio-15 15.0.0 •In Riconfigurazione FPGA, è stata rimossa l'istruzione per riprogrammare il core FPGA
con un . rbf richiamando l'immagine cat filenome>. rbf
> comando /dev/ fpga0 perché questo metodo non è raccomandato.
Dicembre-14 14.1.0 •Rinominato il documento come Altera Cyclone V SoC Development Kit Reference Platform Porting Guide.
• Aggiornata l'utilità di riprogrammazione al programma aoclfilenome>.aocx comando di utilità.
•Aggiornata l'utilità diagnostica alla diagnosi aocl e alla diagnosi aocl comando di utilità.
•Aggiornata la procedura nella sezione Porting della piattaforma di riferimento sulla tua scheda SoC per includere le istruzioni sul porting e la modifica della partizione della scheda c5soc per creare una partizione timing-clean per il flusso di chiusura timing garantito.
•Inserito l'argomento Aggiornamento di una piattaforma di riferimento trasferita per delineare le procedure per le seguenti attività:
1.Escluso il blocco HPS (hard processor system) nella partizione della scheda
2.Aggiornamento dell'immagine della scheda flash SD
•Aggiornata la sezione Creazione di un'immagine della scheda flash SD. Si consiglia di utilizzare la versione 14.0 dell'immagine Golden System Reference Design (GSRD) come punto di partenza anziché l'immagine disponibile con SoC Embedded Design Suite (EDS).
• Aggiornata la sezione Recompiling the Linux Kernel and the OpenCL Linux Kernel Driver:
1.Aggiunta istruzione per impostare la variabile CROSS COMPILE.
2.Modificato il comando eseguito per verificare che il CMA sia abilitato correttamente.
14 luglio 14.0.0 •Versione iniziale.

Documenti / Risorse

Intel FPGA SDK per OpenCL [pdf] Guida utente
SDK FPGA per OpenCL, SDK FPGA, SDK per OpenCL, SDK

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *