tag:blogger.com,1999:blog-12956553380994246302023-12-18T16:22:59.427-08:00Il blog di LeonardoUnknownnoreply@blogger.comBlogger49125tag:blogger.com,1999:blog-1295655338099424630.post-82222656383398831532018-10-21T16:54:00.001-07:002018-10-22T09:58:00.736-07:00FPGA: Clock Domain Crossing (CDC) – First partWhen we need to transfer signals from one clock domain to another, where clocks could differs in frequency or phase, we have to pay special attention because of sampling window and setup and hold times violations that could occurs and bring to metastability and unreliable data transfers.If we are transferring more than one signal (ex. a bus) we should pay attention to signal skews and the Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-67417883376274779122018-10-13T16:53:00.001-07:002018-10-15T10:33:50.607-07:00News from the BlogWelcome back to all my readers! Can you try to guess what has changed since the last post in my blog?It’s been a long time but.. Yes! Just so, I started writing new contents in English. This is an opportunity for me to try to improve my English more and more and make the new articles immediately comprehensible all over the world. If you find any grammatical errors in these first posts, I would beUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-5957052019447136872017-06-16T15:20:00.000-07:002018-05-23T02:33:50.096-07:00FPGA: Computer Vision con D8M-GPIO (seconda parte)Dopo aver introdotto nel precedente articolo gli elementi principali del sistema, approfondiamo l’architettura del sensore CMOS OV8865.Il blocco principale è l’ image sensor core che si occupa di generare un flusso di dati digitali rappresentanti l’immagine, è composto da varie parti come illustrato nello schema sopra presentato tratto dal Product Brief di Omnivision.L’image array è composto da Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1295655338099424630.post-4998203732767198472017-05-07T06:38:00.001-07:002018-05-23T02:17:51.165-07:00FPGA: Computer Vision con D8M-GPIO (prima parte)Un campo promettente per le FPGA è sicuramente l’elaborazione di flussi video in tempo reale (anche detta elaborazione di immagini). Sebbene le schede grafiche diventino sempre più potenti sotto molti punti di vista, pensiamo a settori come l’automotive dove tematiche come la guida automatica o sistemi Advanced Driver Assistance Systems (ADAS) sono sempre di maggiore attualità. I requisiti sono Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1295655338099424630.post-46788041921392845192016-08-20T15:52:00.001-07:002017-04-01T09:36:18.936-07:00FPGA: Comunicazione tramite JTAG UART con C#Le schede di sviluppo come la DE1-SOC così come le più compatte DE0-Nano o BEMICRO-CV-A9 non dispongono di un’interfaccia di comunicazione semplice ed interoperabile verso un computer per i propri progetti. La soluzione più diffusa è l’aggiunta di un modulo USB-Seriale esterno, il che comporta però degli svantaggi quali: costi aggiuntivi, ulteriori dimensioni del sistema finale e utilizzo dei pinUnknownnoreply@blogger.com6tag:blogger.com,1999:blog-1295655338099424630.post-6649161597616069852016-06-05T04:15:00.001-07:002016-06-05T04:17:44.847-07:00Cyclone V SoC: Configuriamo ARM DS-5Precedentemente avevamo visto come collegare la scheda DE1-SoC al computer tramite cavo ethernet, vediamo adesso come configurare al meglio il software DS-5 per essere maggiormente produttivi nella scrittura del software. In particolare all’interno dello stesso programma riusciremo ad avere sotto controllo il filesystem, i processi ed un terminale per interagire col nostro sistema ed il debug Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-47460498998643800962015-11-24T14:08:00.001-08:002015-11-28T09:38:37.359-08:00FPGA: Numeri a virgola fissa (seconda parte)
Dopo aver introdotto i numeri fixed point vediamo un semplice blocco in VHDL che calcola la circonferenza di un cerchio dato il raggio.
Possiamo vedere come sia stata definita una costante two_pi che intuitivamente conterrà il valore 2 * pi greco.
La costante è valorizzata tramite la funzione to_ufixed che provvederà a convertire un numero REAL (ma funziona anche con INTEGER, SIGNED e Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-1483880132227303342015-10-01T15:55:00.001-07:002022-05-05T01:32:34.791-07:00FPGA: Numeri a virgola fissa (prima parte)
Il linguaggio VHDL originariamente non prevede alcun supporto ai numeri decimali, con la ratificazione della versione VHDL-2008 si arricchisce finalmente del supporto per i numeri a virgola fissa ed a virgola mobile.
Sfortunatamente la diffusione del nuovo standard non è rapida e ancora oggi la maggior parte degli strumenti di sviluppo supporta un subset più o meno ampio di tutte le Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1295655338099424630.post-52373790943535405352015-09-07T16:00:00.001-07:002015-09-07T16:12:23.214-07:00Wave Sheet
Qualche volta può essere utile riflettere con carta e penna e nel ragionare sulle forme d'onda può essere comodo disporre di un foglio predisposto appositamente per abbozzare qualche idea.
Voglio condividere con voi un template che ho creato, da stampare in orizzontale:
L'utilizzo è abbastanza intuitivo, nella riga iniziale è possibile scrivere il titolo del foglio mentre sulle righe aUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-1295655338099424630.post-47723451856517193152015-09-07T03:29:00.000-07:002015-09-15T03:04:10.357-07:00FPGA: Engineering Change Orders
Sintesi dell'articolo: Modifichiamo senza una ricompilazione completa alcune parti del progetto come la frequenza di uscita del PLL tramite gli strumenti ECO di Quartus.
Durante il ciclo di sviluppo purtroppo le specifiche possono cambiare all'ultimo minuto, queste modifiche sono chiamate in gergo ECO (Engineering Change Orders) e possono in alcuni casi essere introdotte per Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-69696015775831915862015-08-24T12:12:00.003-07:002015-10-01T13:27:13.620-07:00FPGA: Scripting con TCL
Software EDA (Electronic Design Automation) come Quartus, Vivado, ISE e Synplify Pro utilizzato da diversi produttori di FPGA tra cui la nuova startup cinese Gowin, condividono tutti il linguaggio di scripting TCL (Tool Command Language) per l'automazione di task comuni.
Vediamo innanzitutto come creare ed eseguire un semplice script TCL con Quartus.
Creiamo un nuovo progetto e scegliamo Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-3132338517198933672015-08-07T08:09:00.001-07:002015-10-12T07:42:55.159-07:00FPGA: Xilinx ISE ed Internet Explorer 11Oggi vediamo una piccola fix per risolvere un problema che può nascere nel tool di sviluppo Xilinx ISE e nei suoi accessori.
Seppur il software ISE sia ormai superato da Vivado è ancora necessario per poter sviluppare per famiglie di dispositivi come Spartan-6, Virtex-6, Coolrunner e le generazioni precedenti.
Un problema che può verificarsi (verificato su Windows 7) dopo l’aggiornamento di Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-91609532265849697442015-07-27T16:08:00.003-07:002016-06-04T16:01:47.787-07:00Cyclone V SoC: Ethernet senza router con DE1-SoCLa documentazione di Terasic per la DE1-SoC è ben fatta e seguendo il manuale e gli esempi si sarà in grado di programmare il processore ARM, usare l'area logica programmabile e capire l'interazione tra queste due componenti.Sul sito web è presente un'immagine pronta all'uso di un sistema Linux Console che è possibile scrivere su una scheda MicroSD da almeno 4GB come descritto nella DE1-SoC Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-1295655338099424630.post-71092745897333379102015-07-27T15:14:00.000-07:002015-07-31T02:24:20.690-07:00Cyclone V SoC: Gli strumenti di sviluppo per ARMLa scheda DE1-SoC come dice il nome e come abbiamo già anticipato, include un SoC (System On Chip) composto da una logica programmabile FPGA ed un processore ARM in un unico chip. Diamo ora uno sguardo a quali sono gli strumenti di sviluppo per questo nuovo SoC.La FPGA è programmabile come di consueto tramite Quartus II, il processore ARM necessita invece dell'installazione della SoC Embedded Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1295655338099424630.post-31203139036706485442015-07-03T02:28:00.001-07:002015-07-03T04:46:19.633-07:00FPGA: Cyclone V SoC e DE1-SoC
La DE1-SOC è una scheda di sviluppo prodotta da Terasic per poter progettare rapidamente con le FPGA Cyclone V SE con processore ARM Cortex-A9 dual-core di cui parleremo ancora prossimamente.
La nuova serie Cyclone V è divisa in ben sei varianti diverse:
La dev-board in oggetto è equipaggiata col modello 5CSEMA5F31C6 di cui sono riportate sotto le risorse principali:
Come Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-53927698301761733742015-06-29T15:24:00.002-07:002015-10-01T13:28:21.753-07:00Novità dal settore delle FPGA
E' passato qualche mese dall'ultimo post, il tempo purtroppo è sempre tiranno ma spero di poter scrivere con maggiore frequenza nelle prossime settimane.
Intel ha annunciato l'acquisizione di Altera il primo di Giugno e come coincidenza i prezzi delle FPGA stanno rapidamente calando nelle ultime settimane come è possibile notare dai prezzi delle nuove schede di sviluppo BeMicro CV A9&Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-49274976517296656112014-03-19T11:19:00.000-07:002015-10-02T11:20:51.993-07:00Come iniziare con gli IC Cypress EZ-USB FX2LPQuesto articolo vuole essere una collezione di risorse per iniziare lo studio dei circuiti integrati di casa Cypress, precisamente gli IC della serie FX2LP. Qualora fosse necessario disporre di comunicazione USB 2.0 Hi-Speed (480 MBps) e di un microcontrollore ad 8 bit ad elevate prestazioni, IC come CY7C68013A (sotto è mostrato il suo diagramma a blocchi logico) che utilizzeremo nell’articolo Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-57710160216353984572014-03-16T11:24:00.000-07:002023-04-01T06:44:54.490-07:00FPGA: Comunicazione ad alta velocità tramite USB 2.0 - DownloadSiamo giunti al termine di questa triologia di articoli dove abbiamo realizzato una comunicazione ad alta velocità tra FPGA e PC, è sotto riportato il sommario del percorso svolto: Prima parte: Introduzione al progetto e UM232H Seconda parte: DE0-Nano Terza parte: Software Nel download del progetto è presente: - il Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1295655338099424630.post-26998323982573272402014-03-16T01:00:00.000-07:002015-10-02T11:29:24.690-07:00FPGA: Comunicazione ad alta velocità tramite USB 2.0 (terza parte) - SoftwareL’IC FT232H di cui abbiamo parlato nei precedenti articoli (parte I, parte II) permette una comunicazione col pc tramite due interfacce: VCP e D2XX. L’interfaccia VCP (Virtual COM Port) è pensata per sostituire sistemi con la vecchia porta seriale senza modifiche nei software esistenti, il dispositivo viene visto dal sistema operativo come una porta COM seriale. Gli svantaggi di questa Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1295655338099424630.post-20604208469467763142014-03-01T10:30:00.000-08:002015-10-02T11:31:50.560-07:00FPGA: Comunicazione ad alta velocità tramite USB 2.0 (seconda parte) - DE0-NanoIn questo articolo (vedi precedente) illustriamo il funzionamento dell’IC FT232H per poterlo così interfacciare alla nostra scheda FPGA DE0-Nano L’FT232H permette di eseguire due tipi di operazione nella modalità FT245 sincrona: operazione di lettura ed operazione di scrittura. Operazione di lettura Un’operazione di lettura può iniziare quando il chip porta il pin RXF#, che quindi andrà Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-41008241083365325582014-02-16T10:33:00.000-08:002015-10-02T11:34:44.283-07:00FPGA: Comunicazione ad alta velocità tramite USB 2.0 (prima parte)Uno dei principali problemi in sistemi composti da FPGA e PC è stabilire una comunicazione semplice, veloce ed affidabile. Vediamo in questo articolo come aggiungere alla scheda di sviluppo DE0-Nano il supporto USB Hi-Speed (fino a 480 MBit/s teorici) per aprire nuovi scenari di sviluppo come l’acquisizione ed elaborazione di dati ad alta velocità. La scheda di sviluppo DE0-Nano dispone di due Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-27744284704970470972014-02-15T10:35:00.000-08:002015-10-02T11:36:56.282-07:00Introduzione ad ASF (ottava parte) – SPIAl livello più basso nei microcontrollori XMega per utilizzare il supporto hardware ad SPI abbiamo a disposizione per ogni porta SPI i seguenti registri: Control (CTRL), Interrupt Control (INTCTRL), STATUS e DATA, tutti adeguatamente documentati nel datasheet del microcontrollore. Possiamo accedere ad esempio ai registri della porta SPI C tramite SPIC_CTRL, SPIC_INTCTRL, SPIC_STATUS ed SPIC_DATA Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-4025128644554689792014-02-04T10:37:00.000-08:002023-10-14T09:10:15.312-07:00Logiche Programmabili: Un possibile percorso per semplici appassionatiPer gli appassionati di elettronica iniziare ad utilizzare le logiche programmabili può essere un passo impegnativo. Le schede di sviluppo FPGA più recenti offrono molte funzionalità ma necessitano la lettura di centinaia di pagine di documentazione tecnica, la conoscenza di un linguaggio di descrizione dell’hardware come VHDL o Verilog e sono in genere molto delicate. Sono spesso pensate per i Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-91931549728145887212014-01-26T10:40:00.000-08:002022-05-02T09:22:50.854-07:00Introduzione ad ASF (settima parte) – Introduzione ad SPIAnalizziamo in questo articolo l’utilizzo dell’interfaccia Serial Peripheral Interface (SPI) SPI permette una comunicazione sincrona ad alta velocità tra un dispositivo Master ed uno o più dispositivi Slave.Ogni dispositivo contiene un registro a scorrimento tipicamente ad 8 bit (1 byte) il cui scorrimento è basato sul segnale di clock fornito dal Master. Prendiamo in considerazione una Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1295655338099424630.post-6470759235538900412014-01-01T10:45:00.000-08:002015-10-02T11:46:49.867-07:00Strumenti di sviluppo Xilinx e Windows 8Alcuni lettori del blog mi hanno più volte segnalato il forte desiderio di articoli anche su logiche programmabili e strumenti di sviluppo Xilinx. Complice l’arrivo di un nuovo portatile con preinstallato Windows 8 ed una nuova scheda di sviluppo basata su FPGA Spartan-6 LX come regalo per il nuovo anno ai lettori del blog inizierà una serie di articoli relativi al mondo Xilinx. Gli Unknownnoreply@blogger.com0