¿Cuál es la diferencia entre configurar el número de elementos en una FIFO y solicitar el tamaño de la FIFO?



Software Primario: LabVIEW Modules>>LabVIEW FPGA Module
Versión de Software Primario: 2013
Versión de Software Primario Corregido: N/A
Software Secundario: LabVIEW Development Systems>>LabVIEW Full Development System, LabVIEW Development Systems>>LabVIEW Professional Development System, LabVIEW Modules>>LabVIEW Real-Time Module
Hardware: CompactRIO

Problema:
Después de crear una "Target to Host FPGA FIFO" en un proyecto, se puede seleccionar cuantos elementos contendrá al hacer click derecho y seleccionar Properties (como se muestra en la imagen):





Cuando se abre la referencia al FPGA VI en un VI en el computador, se muestran opciones para solicitar el tamaño de esa FIFO a través de el Invoke Node FIFO.Configure (como se muestra en la figura):



¿Cúal es la diferencia entre estos dos métodos, y cómo se relacionan con el tamaño verdadero de la FIFO?


Solución:
Una "Target to Host" está estructurada de tal manera que existan dos FIFOs (o buffers) en los cuales la información se envía entre sí, por medio de un canal DMA (Memoria de Acceso Directo).
El primer buffer existe solamente en el computador (Host). El tamaño de este buffer puede ser solicitado utilizando el "Invoke Node" en un VI en el computador.

El buffer de la FPGA retendrá el valor de cualquier dato escrito en él utilizando el FPGA VI, antes de ser transmitido por medio de DMA. La transmisión de datos a través de DMA sucede automaticamente y no puede ser configurada de ninguna manera. 

El buffer del computador recibe cualquier dato enviado por DMA, hasta que ese dato es leído fuera del buffer en el VI del computador. Si no se especifica el tamaño del buffer del computador, se escribirá:
1) 10,000 elementos o 2) el doble de elementos que pueden ser contenidos en el buffer de FPGA, el que sea más grande.


Ligas Relacionadas:
 KnowledgeBase 5AJE8CL1: Why Does the DMA FIFO Invoke Node Use More Memory than the Specified Depth? (en inglés)
KnowledgeBase 5RGLN6X0: How Many DMA Channels are on My FPGA Target? (en inglés)


Archivos Adjuntos:





Día del Reporte: 05/17/2013
Última Actualización: 06/14/2017
Identificación del Documento: 69G6RG00