Estoy modelando una interfaz serie-cámara en Verilog. Mi diseño incorpora fotogramas de video, los empaqueta en un formato determinado y luego los distribuye entre 1 a 4 carriles paralelos. Cada carril tiene 8 bits de ancho. Es configurable la cantidad de carriles que desea utilizar. El empaquetador pasa 32 bits al distribuidor de carril cada ciclo de reloj.
Mi pregunta es ¿cuál es la mejor manera de transmitir datos sin limitación si se utilizan menos de 4 carriles?
Entonces, si se pasan 32 bits y solo hay dos carriles abiertos, el distribuidor solo puede pasar 16 bits por reloj. ¿Existe una forma rápida de hacerlo sin las señales de control que impiden que el empaquetador envíe datos cada dos relojes? Parece que no lo hay porque los datos se acumularían.
Cualquier ayuda sería apreciada!
Otra pregunta: al final del envío de datos, debe haber un byte de "Fin de transmisión" enviado en cada carril. ¿Cómo manejaría esto si el número de bytes enviados no es un múltiplo del número de carriles? El byte EoT se enviaría en diferentes carriles en diferentes relojes. ¿Hay una buena manera de modificar una máquina de estado para manejar estos casos de borde?