Estoy trabajando a través de un problema extraño. Tenemos restricciones de pines en nuestro FPGA y necesitamos controlar un bus común. Todo estaba bien y bien, ya que todo el software era secuencial, pero ahora se recibirán algunas solicitudes al mismo tiempo para los dispositivos, pero ahora habrá que ponerlos en una cola.
¿Cómo debo ocuparme de asegurarme de que todo se introduzca en un FIFO sin prioridad y sin eliminar datos? Tengo el diseño exterior completo para controlar todo hasta el cuello de la botella donde todo se introduce en la tubería antes de que se le otorgue acceso a nuestro "autobús". Algunas solicitudes tardarán mucho tiempo en llegar, pero lo harán de forma simultánea desde un FPGA, mientras que los comandos de software entrarán de forma secuencial, pero de forma menos predecible. Si no me importa el orden en el que otorgo acceso al "bus", ¿cuál es la mejor manera de canalizar toda esta información en un solo FIFO bajo el supuesto de que algunos comandos entrarán al mismo tiempo sin ¿Sabiendo cuántos habrá? Me gustaría evitar tener que solicitar / aceptar / otorgar, si es posible, ya que me gustaría que todo esto se solucione mediante un solo componente que solo recibe un montón de datos y se encarga de la complejidad. ¿Cuál es la forma más fácil de lograr esto?