logo del microchip

MICROCHIP Rilevamento e correzione degli errori sulla memoria LSRAM RTG4

MICROCHIP-Rilevamento-e-correzione-di-errori-su-memoria-RTG4-LSRAM

Cronologia delle revisioni

La cronologia delle revisioni descrive le modifiche implementate nel documento. Le modifiche sono elencate per revisione, a partire dalla pubblicazione più recente.

Revisione 4.0
Di seguito è riportato un riepilogo delle modifiche apportate in questa revisione.

  • Aggiornato il documento per Libero SoC v2021.2.
  • Aggiunta Appendice 1: Programmazione del dispositivo tramite FlashPro Express, pagina 14.
  • Aggiunta Appendice 2: Esecuzione dello script TCL, pagina 16.
  • Rimossi i riferimenti ai numeri di versione di Libero.

Revisione 3.0
Aggiornato il documento per la release del software Libero v11.9 SP1.

Revisione 2.0
Aggiornato il documento per la release del software Libero v11.8 SP2.

Revisione 1.0
La prima pubblicazione di questo documento.

Rilevamento e correzione degli errori sulla memoria LSRAM RTG4

Questo progetto di riferimento descrive le capacità di rilevamento e correzione degli errori (EDAC) delle LSRAM FPGA RTG4™. In un ambiente suscettibile di SEU (singolo evento sconvolto), la RAM è soggetta a errori transitori causati da ioni pesanti. Questi errori possono essere rilevati e corretti utilizzando codici di correzione degli errori (ECC). I blocchi RAM FPGA RTG4 dispongono di controller EDAC integrati per generare i codici di correzione degli errori per correggere un errore a 1 bit o rilevare un errore a 2 bit.

Se viene rilevato un errore di 1 bit, il controller EDAC corregge il bit di errore e imposta il flag di correzione dell'errore (SB_CORRECT) su attivo alto. Se viene rilevato un errore a 2 bit, il controller EDAC imposta il flag di rilevamento dell'errore (DB_DETECT) su attivo alto.
Per ulteriori informazioni sulla funzionalità RTG4 LSRAM EDAC, fare riferimento a UG0574: RTG4 FPGA Fabric

Guida per l'utente.
In questo progetto di riferimento, l'errore a 1 bit o l'errore a 2 bit viene introdotto tramite la GUI di SmartDebug. EDAC viene osservato utilizzando un'interfaccia utente grafica (GUI), utilizzando l'interfaccia UART per accedere alla LSRAM per la lettura/scrittura dei dati, Libero® System-on-Chip (SoC) SmartDebug (JTAG) viene utilizzato per iniettare gli errori nella memoria LSRAM.

Requisiti di progettazione
La Tabella 1 elenca i requisiti del progetto di riferimento per l'esecuzione della demo RTG4 LSRAM EDAC.

Tabella 1 • Requisiti di progettazione

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-1

Software

  • SoC Libero
  • Flash Pro Express
  • Debug intelligente
  • Driver del PC host Driver da USB a UART

Nota: Le schermate di Libero SmartDesign e di configurazione mostrate in questa guida sono solo a scopo illustrativo.
Apri il design Libero per vedere gli ultimi aggiornamenti.

Prerequisiti
Prima di iniziare:
Scaricare e installare Libero SoC (come indicato nel file website per questo progetto) sul PC host dalla seguente posizione: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc

Progettazione dimostrativa
Scarica il progetto dimostrativo files dal Microsemi websito a: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df

Il progetto dimostrativo fileincludono:

  • Progetto SoC Libero
  • Programma di installazione della GUI
  • Programmazione files
  • Leggimi.txt file
  • TCL_Script

L'applicazione GUI sul PC host invia i comandi al dispositivo RTG4 tramite l'interfaccia USB-UART. Questa interfaccia UART è progettata con CoreUART, che è un IP logico dal catalogo IP del SoC Libero. L'IP CoreUART nella struttura RTG4 riceve i comandi e li trasmette alla logica del decodificatore di comandi. La logica del decodificatore di comandi decodifica il comando di lettura o scrittura, che viene eseguito utilizzando la logica dell'interfaccia di memoria.

Il blocco di interfaccia di memoria viene utilizzato per leggere/scrivere e monitorare i flag di errore LSRAM. L'EDAC integrato corregge l'errore di 1 bit durante la lettura da LSRAM e fornisce i dati corretti all'interfaccia utente, ma non riscrive i dati corretti su LSRAM. L'EDAC LSRAM integrato non implementa una funzione di pulizia. Il progetto demo implementa la logica scrub, che monitora il flag di correzione a 1 bit e aggiorna la LSRAM con i dati corretti se si verifica un errore a bit singolo.
La GUI di SmartDebug viene utilizzata per iniettare errori a 1 o 2 bit nei dati LSRAM.
La Figura 1 mostra il diagramma a blocchi di primo livello del progetto demo RTG4 LSRAM EDAC.

Figura 1 • Diagramma a blocchi di primo livello

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-2

Di seguito sono riportate le configurazioni di progettazione demo:

  1. La LSRAM è configurata per la modalità ×18 e l'EDAC è abilitato collegando il segnale ECC_EN della LSRAM ad alto.
    Nota: La LSRAM EDAC è supportata solo per le modalità ×18 e ×36.
  2. L'IP CoreUART è configurato per comunicare con l'applicazione del PC host a una velocità di 115200 baud.
  3. RTG4FCCCECALIB_C0 è configurato per sincronizzare CoreUART e altra logica fabric a 80 MHz.

Caratteristiche
Di seguito sono riportate le funzionalità di progettazione demo:

  • Leggere e scrivere su LSRAM
  • Inserisci errori a 1 e 2 bit utilizzando SmartDebug
  • Visualizza i valori di conteggio degli errori a 1 bit e 2 bit
  • Possibilità di cancellare i valori del conteggio degli errori
  • Abilitare o disabilitare la logica di pulizia della memoria

Descrizione
Questa progettazione demo prevede l'implementazione delle seguenti attività:

  • Inizializzazione e accesso a LSRAM
    La logica dell'interfaccia di memoria implementata nella logica fabric riceve il comando di inizializzazione dalla GUI e inizializza le prime 256 locazioni di memoria di LSRAM con i dati incrementali. Esegue anche le operazioni di lettura e scrittura nelle 256 locazioni di memoria di LSRAM ricevendo l'indirizzo e i dati dalla GUI. Per un'operazione di lettura, il progetto recupera i dati da LSRAM e li fornisce alla GUI per la visualizzazione. L'aspettativa è che il progetto non induca errori prima di utilizzare SmartDebug.

Nota: Le posizioni di memoria non inizializzate possono avere valori casuali e SmartDebug può mostrare errori a bit singolo o doppio in tali posizioni.

  • Inserimento di errori a 1 o 2 bit
    La GUI di SmartDebug viene utilizzata per inserire gli errori a 1 o 2 bit nella posizione di memoria specificata di LSRAM. Le seguenti operazioni vengono eseguite utilizzando SmartDebug per iniettare errori a 1 bit e 2 bit in LSRAM:
    • Aprire la GUI di SmartDebug, fare clic su Debug FPGA Array.
    • Vai alla scheda Memory Blocks, seleziona l'istanza di memoria e fai clic con il pulsante destro del mouse su Aggiungi.
    • Per leggere il blocco di memoria, fare clic su Leggi blocco.
    • Inietta errori a bit singolo o doppio in qualsiasi posizione della LSRAM di una certa profondità.
    • Per scrivere nella posizione modificata, fare clic su Scrivi blocco.
      Durante l'operazione di lettura e scrittura di LSRAM tramite SmartDebug (JTAG), il controller EDAC viene bypassato e non calcola i bit ECC per l'operazione di scrittura nel passaggio e.
  • Conteggio degli errori
    I contatori a 8 bit vengono utilizzati per fornire un conteggio degli errori e sono progettati nella logica dell'infrastruttura per contare gli errori a 1 o 2 bit. La logica del decodificatore di comando fornisce i valori di conteggio alla GUI quando riceve i comandi dalla GUI.

Struttura dell'orologio
In questo progetto demo, c'è un dominio di clock. L'oscillatore interno da 50 MHz guida RTG4FCCC, che guida ulteriormente RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 genera un clock a 80 MHz che fornisce una sorgente di clock ai moduli COREUART, cmd_decoder, TPSRAM_ECC e RAM_RW.
La figura seguente mostra la struttura di clock del progetto demo.

Figura 2 • Struttura del clock

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-3

Ripristina struttura
In questo progetto demo, il segnale di ripristino ai moduli COREUART, cmd_decoder e RAM_RW viene fornito tramite la porta LOCK di RTG4FCCCECALIB_C0. La figura seguente mostra la struttura di ripristino del progetto demo.

Figura 3 • Ripristina struttura

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-4

Impostazione del progetto demo
Le sezioni seguenti descrivono come impostare il kit di sviluppo RTG4 e la GUI per eseguire il progetto demo.

Impostazioni del ponticello

  1. Collegare i ponticelli sul kit di sviluppo RTG4, come mostrato nella Tabella 2.
    Tabella 2 • Impostazioni dei ponticelli
    Maglione Perno (da) Perno (A) Commenti
    J11, J17, J19, J21, J23, J26, J27, J28 1 2 Predefinito
    J16 2 3 Predefinito
    J32 1 2 Predefinito
    J33 1 3 Predefinito
    2 4

    Nota: Spegnere l'interruttore di alimentazione, SW6, durante il collegamento dei ponticelli.

  2. Collegare il cavo USB (cavo da mini USB a USB di tipo A) a J47 del kit di sviluppo RTG4 e l'altra estremità del cavo alla porta USB del PC host.
  3. Assicurarsi che i driver del bridge da USB a UART vengano rilevati automaticamente. Questo può essere verificato nel gestore dispositivi del PC host.
    La Figura 4 mostra le proprietà della porta seriale USB 2.0 e il convertitore seriale COM31 e USB collegato C.

Figura 4 • Driver Bridge da USB a UART

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-6

Nota: Se i driver del bridge da USB a UART non sono installati, scaricare e installare i driver da www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip

La Figura 5 mostra la configurazione della scheda per l'esecuzione della demo EDAC sul kit di sviluppo RTG4.

MICROCHIP Rilevamento e correzione degli errori sulla memoria LSRAM RTG4

Programmazione del progetto demo

  1. Avvia il software Libero SOC.
  2. Per programmare il kit di sviluppo RTG4 con il lavoro file forniti come parte del progetto fileSe si utilizza il software FlashPro Express, fare riferimento all'Appendice 1: Programmazione del dispositivo mediante FlashPro Express, pagina 14.
    Nota: Una volta terminata la programmazione con il lavoro file tramite il software FlashPro Express, passare a EDAC Demo GUI, pagina 9. In caso contrario, passare alla fase successiva.
  3. Nel flusso di progettazione Libero, fare clic sull'azione Esegui programma.
  4. Una volta completata la programmazione, viene visualizzato un segno di spunta verde davanti all'azione "Esegui programma" che indica l'avvenuta programmazione del progetto demo.

MICROCHIP Rilevamento e correzione degli errori sulla memoria RTG4 LSRAM-1

GUI demo EDAC
La demo EDAC è dotata di un'interfaccia utente intuitiva, come mostrato nella Figura 7, che viene eseguita sul PC host, che comunica con il kit di sviluppo RTG4. L'UART viene utilizzato come protocollo di comunicazione sottostante tra il PC host e il kit di sviluppo RTG4.

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-9

La GUI contiene le seguenti sezioni:

  1. Selezione della porta COM per stabilire la connessione UART all'FPGA RTG4 con velocità di trasmissione 115200.
  2. Scrittura memoria LSRAM: per scrivere i dati a 8 bit nell'indirizzo di memoria LSRAM specificato.
  3. Pulizia della memoria: per abilitare o disabilitare la logica di pulizia.
  4. Lettura memoria LSRAM: per leggere i dati a 8 bit dall'indirizzo di memoria LSRAM specificato.
  5. Conteggio errori: visualizza il conteggio degli errori e fornisce un'opzione per azzerare il valore del contatore.
  6. Conteggio errori a 1 bit: visualizza il conteggio degli errori a 1 bit e fornisce un'opzione per azzerare il valore del contatore.
  7. Conteggio errori a 2 bit: visualizza il conteggio degli errori a 2 bit e fornisce un'opzione per azzerare il valore del contatore.
  8. Dati di registro: fornisce le informazioni sullo stato per ogni operazione eseguita utilizzando la GUI.

Esecuzione della demo
I passaggi seguenti descrivono come eseguire la demo:

  1. Vai a \v1.2.2\v1.2.2\Exe e fare doppio clic su EDAC_GUI.exe come mostrato nella Figura 8.
  2. Selezionare la porta COM31 dall'elenco e fare clic su Connetti.

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-10

Iniezione e correzione dell'errore a bit singolo

  1. Nel design Libero fornito, fai doppio clic sul design SmartDebug nel flusso di progettazione.
  2. Nella GUI di SmartDebug, fare clic su Debug FPGA Array.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-11
  3. Nella finestra Debug FPGA Array, vai alla scheda Memory Blocks. Mostrerà il blocco LSRAM nel design con una logica e fisica view. I blocchi logici sono mostrati con un'icona L, mentre i blocchi fisici sono mostrati con un'icona P.
  4. Selezionare l'istanza del blocco fisico e fare clic con il pulsante destro del mouse su Aggiungi.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-12
  5. Per leggere il blocco di memoria, fare clic su Leggi blocco.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-13
  6. Iniettare l'errore di 1 bit nei dati a 8 bit in qualsiasi posizione della LSRAM fino alla profondità 256, come mostrato nella figura seguente in cui l'errore di 1 bit viene iniettato nella posizione 0 della LSRAM.
  7. Fare clic su Scrivi blocco per scrivere i dati modificati nella posizione desiderata.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-14
  8. Andare alla GUI EDAC e inserire il campo Indirizzo nella sezione Lettura memoria LSRAM e fare clic su Leggi, come mostrato nella figura seguente.
  9. Osserva i campi 1 Bit Error Count e Read Data nella GUI. Il valore del conteggio degli errori aumenta di 1.
    Il campo Read Data visualizza i dati corretti mentre l'EDAC corregge il bit di errore.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-15

Nota: Se la pulitura della memoria non è abilitata, il conteggio degli errori viene incrementato per ogni lettura dallo stesso indirizzo LSRAM poiché causa l'errore a 1 bit.

Iniezione e rilevamento di errori a doppio bit

  1. Eseguire i passaggi da 1 a 5 come indicato in Inserimento e correzione dell'errore a bit singolo, pagina 10.
  2. Iniettare l'errore a 2 bit nei dati a 8 bit in qualsiasi posizione della LSRAM fino alla profondità 256, come mostrato nella figura seguente in cui l'errore a 2 bit viene inserito nella posizione "A" della LSRAM.
  3. Fare clic su Scrivi blocco per scrivere i dati modificati nella posizione prevista.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-16
  4. Andare alla GUI EDAC e inserire il campo Indirizzo nella sezione Lettura memoria LSRAM e fare clic su Leggi, come mostrato nella figura seguente.
  5. Osservare i campi 2-bit Error Count e Read Data nella GUI. Il valore del conteggio degli errori aumenta di 1.
    Il campo Leggi dati visualizza i dati corrotti.

MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-17

Tutte le azioni eseguite in RTG4 vengono registrate nella sezione Console seriale della GUI.

Conclusione
Questa demo evidenzia le capacità EDAC delle memorie RTG4 LSRAM. L'errore a 1 bit o l'errore a 2 bit vengono introdotti tramite la GUI di SmartDebug. La correzione degli errori a 1 bit e il rilevamento degli errori a 2 bit vengono osservati utilizzando una GUI EDAC.

Programmazione del dispositivo tramite FlashPro Express

Questa sezione descrive come programmare il dispositivo RTG4 con il lavoro di programmazione file utilizzando FlashPro Express.

Per programmare il dispositivo, eseguire i seguenti passaggi:

  1. Assicurarsi che le impostazioni dei ponticelli sulla scheda siano le stesse di quelle elencate nella Tabella 3 di UG0617:
    Guida per l'utente del kit di sviluppo RTG4.
  2. Facoltativamente, il ponticello J32 può essere impostato per collegare i pin 2-3 quando si utilizza un programmatore esterno FlashPro4, FlashPro5 o FlashPro6 invece dell'impostazione predefinita del ponticello per utilizzare il FlashPro5 integrato.
    Nota: L'interruttore di alimentazione, SW6 deve essere spento mentre si effettuano i collegamenti dei ponticelli.
  3. Collegare il cavo di alimentazione al connettore J9 sulla scheda.
  4. Accendere l'interruttore di alimentazione SW6.
  5. Se si utilizza FlashPro5 incorporato, collegare il cavo USB al connettore J47 e al PC host.
    In alternativa, se si utilizza un programmatore esterno, collegare il cavo a nastro alla presa JTAG header J22 e collegare il programmatore al PC host.
  6. Sul PC host, avvia il software FlashPro Express.
  7. Fare clic su Nuovo o selezionare Nuovo progetto di lavoro da Lavoro FlashPro Express dal menu Progetto per creare un nuovo progetto di lavoro, come mostrato nella figura seguente.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-18
  8. Immettere quanto segue nella finestra di dialogo Nuovo progetto di lavoro da FlashPro Express Job:
    • Lavoro di programmazione file: fai clic su Sfoglia e vai alla posizione in cui il .job file si trova e selezionare il file. La posizione predefinita è: \rtg4_dg0703_df\Programmazione_Job
    • Posizione del progetto di lavoro FlashPro Express: fare clic su Sfoglia e navigare fino alla posizione del progetto FlashPro Express desiderata.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-19
  9. Fare clic su OK. La programmazione richiesta file è selezionato e pronto per essere programmato nel dispositivo.
  10. Apparirà la finestra di FlashPro Express, confermare che un numero di programmatore appare nel campo Programmatore. In caso contrario, confermare i collegamenti della scheda e fare clic su Refresh/Rescan Programmers.
  11. Fare clic su ESEGUI. Quando il dispositivo è programmato correttamente, viene visualizzato lo stato RUN PASSED come mostrato nella figura seguente.MICROCHIP-Rilevamento-Errore-e-Correzione-su-RTG4-LSRAM-Memory-20
  12. Chiudete FlashPro Express o fate clic su Esci nella scheda Progetto.

Esecuzione dello script TCL

Gli script TCL sono forniti nel design files nella directory TCL_Scripts. Se richiesto, il design
il flusso può essere riprodotto dall'implementazione del progetto fino alla generazione del lavoro file.

Per eseguire TCL, attenersi alla seguente procedura:

  1. Avvia il software Libero
  2. Selezionare Progetto > Esegui script....
  3. Fare clic su Sfoglia e selezionare script.tcl dalla directory TCL_Scripts scaricata.
  4. Fare clic su Esegui.

Dopo l'esecuzione riuscita dello script TCL, il progetto Libero viene creato all'interno della directory TCL_Scripts.
Per ulteriori informazioni sugli script TCL, fare riferimento a rtg4_dg0703_df/TCL_Scripts/readme.txt.
Fare riferimento alla Guida di riferimento ai comandi TCL del SoC Libero® per maggiori dettagli sui comandi TCL. Contattare il supporto tecnico per qualsiasi domanda riscontrata durante l'esecuzione dello script TCL.

Microsemi non fornisce alcuna garanzia, dichiarazione o garanzia in merito alle informazioni qui contenute o all'idoneità dei suoi prodotti e servizi per uno scopo particolare, né Microsemi si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi prodotto o circuito. I prodotti venduti ai sensi del presente documento e qualsiasi altro prodotto venduto da Microsemi sono stati soggetti a test limitati e non devono essere utilizzati insieme ad apparecchiature o applicazioni mission-critical. Eventuali specifiche di prestazione sono ritenute affidabili ma non sono verificate e l'Acquirente deve condurre e completare tutte le prestazioni e altri test dei prodotti, da solo e insieme, o installati in qualsiasi prodotto finale. L'Acquirente non farà affidamento su dati e specifiche o parametri di prestazione forniti da Microsemi. È responsabilità dell'Acquirente determinare autonomamente l'idoneità di eventuali prodotti e testare e verificare gli stessi. Le informazioni fornite da Microsemi di seguito sono fornite "così come sono, dov'è" e con tutti i difetti, e l'intero rischio associato a tali informazioni è interamente a carico dell'Acquirente. Microsemi non concede, in modo esplicito o implicito, a nessuna parte alcun diritto di brevetto, licenza o qualsiasi altro diritto di proprietà intellettuale, sia in relazione a tali informazioni stesse oa qualsiasi cosa descritta da tali informazioni. Le informazioni fornite in questo documento sono di proprietà di Microsemi e Microsemi si riserva il diritto di apportare modifiche alle informazioni contenute in questo documento oa qualsiasi prodotto e servizio in qualsiasi momento senza preavviso.

Informazioni su Microsemi Microsemi, una consociata interamente controllata da Microchip Technology Inc. (Nasdaq: MCHP), offre un portafoglio completo di semiconduttori e soluzioni di sistema per i mercati aerospaziale e della difesa, delle comunicazioni, dei data center e industriale. I prodotti includono circuiti integrati analogici a segnale misto ad alte prestazioni e resistenti alle radiazioni, FPGA, SoC e ASIC; prodotti per la gestione dell'alimentazione; dispositivi di cronometraggio e sincronizzazione e soluzioni temporali precise, che stabiliscono lo standard mondiale per il tempo; dispositivi di elaborazione vocale; soluzioni RF; componenti discreti; soluzioni di archiviazione e comunicazione aziendali, tecnologie di sicurezza e anti-tampaltri prodotti; soluzioni Ethernet; CI Power-over-Ethernet e midspan; oltre a funzionalità e servizi di progettazione personalizzati. Ulteriori informazioni su www.microsemi.com.

Sede Microsemi
Un'impresa, Aliso Viejo,
CA 92656 Stati Uniti
Negli USA: +1 Numero di telefono: 800-713-4113
Fuori dagli USA: +1 Numero di telefono: 949-380-6100
Vendite: +1 Numero di telefono: 949-380-6136
Fax: +1 Numero di telefono: 949-215-4996
E-mail: vendite.support@microsemi.com
www.microsemi.com

©2021 Microsemi, una consociata interamente controllata di Microchip Technology Inc. Tutti i diritti riservati. Microsemi e il logo Microsemi sono marchi registrati di Microsemi Corporation. Tutti gli altri marchi e marchi di servizio sono di proprietà dei rispettivi proprietari.

Microsemi Proprietario DG0703 Revisione 4.0

Documenti / Risorse

MICROCHIP Rilevamento e correzione degli errori sulla memoria LSRAM RTG4 [pdf] Guida utente
Demo DG0703, rilevamento e correzione errori su memoria LSRAM RTG4, rilevamento e correzione su memoria LSRAM RTG4, memoria LSRAM RTG4, memoria LSRAM

Riferimenti

Lascia un commento

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