Estoy haciendo una simulación de mi diseño de investigación en un solo FPGA, en el que simulé dos chips de conmutación ASIC y un FPGA. Quiero decir, simulé un FPGA único que funcionaba como dos chips y los conecté para que pudieran transferir tráfico al otro lado. También conecté sus puertos lógicos a un "Árbitro" que reenviará el tráfico a los puertos Ethernet de salida físicos en base a "Primero en entrar, primero en salir". Como simulo todo esto en un solo FPGA, tengo lógica para implementar el Arbiter, que es la etapa importante de este diseño. Y en la simulación todo va bien. A continuación se muestra el experimento simulado. Quiero hacerlo en ASIC y FPGA reales ahora.
Solo quiero saber si es posible en ASIC y FPGA reales conectarlos a los mismos puertos de salida físicos. En caso afirmativo, ¿dónde podemos implementar la cola de salida que almacenará en búfer los paquetes provenientes de ASIC y FPGA (después del procesamiento) y los liberará en orden FIFO hacia los puertos eth de salida? Porque aquí no tenemos el "Árbitro" para reenviar el tráfico proveniente de ambos chips de conmutación de alguna manera, por ejemplo, FIFO.
Dos formas en las que pensé son: 1) Memoria con búfer de puerto y 2) Memoria compartida (SRAM, DRAM) podría ser la solución. O cualquier otra idea mejor que puedas dar. Gracias
Hay formas de hacer esto, pero terminaría jugando rápidamente con los búferes de tres estados y cosas por el estilo. Con solo juntar los cables, se crearán múltiples controladores en las líneas y se explotarán los pines en un abrir y cerrar de ojos.
Una mejor solución sería enrutar la salida ASIC a través de la FPGA e implementar tanto el bloque que tendría en la FPGA como el árbitro allí. Entonces el FPGA tiene la única salida hacia la Ethernet. Suponiendo que su árbitro ya sea sintetizable, este es un pequeño cambio en el código. Sin embargo, esto probablemente requiera un rediseño del resto de su proyecto, así que considere otras soluciones.
DonFusili
Jattak
usuario253751
Jattak
Jattak