Uno de los enfoques para implementar FIFO es utilizar memorias integradas, ya sea SRAM integrada en ASIC o bloquear RAM en FPGA.
Primero supongamos que su FIFO se basa en una memoria que no tiene latencia. Primero debe implementar un puntero de escritura y un puntero de lectura. Luego use estos dos punteros para crear señales llenas y vacías. Asegúrese de considerar el caso envolvente. Una pregunta simple para verificar su FIFO es: en cualquier momento dado, si el puntero de escritura es igual al puntero de lectura, ¿está este FIFO lleno o vacío? ¿Qué información adicional se necesita para distinguir estas dos condiciones?
Si no se puede mantener la suposición anterior de latencia de lectura / escritura cero, entonces es posible que también deba considerar qué tan grande es la latencia y luego crear una señal casi completa para evitar la pérdida de datos en el lado de entrada.
La implementación basada en memoria no tiene un FIFO verdadero dentro, pero desde el punto de vista del usuario, se comporta igual. Es muy útil cuando la profundidad FIFO es grande y tiene RAM incorporada disponible.
- Cómo diseñar un perfil involutivo para engranajes en software CAD
- ¿Qué es una bicicleta liviana bellamente diseñada que puedo usar para viajes urbanos?
- ¿Cómo rediseñarías la bandera estadounidense?
- Cuando tiene una idea para una invención, y la tecnología ya existe en una forma diferente, ¿cuál es la hoja de ruta desde la concepción hasta la creación a través de patentes, recaudación de fondos, diseño, etc.
- ¿Son los diseñadores principales de Google, Apple y Facebook los mejores diseñadores del mundo?