Quiero aprender USB y su interfaz de hardware y comenzar con un diseño trivial. Encontré algo de VHDL en github para ISP1362 y me pregunto si ese es un buen punto de partida. Ya he usado Quartus para diseñar otro hardware para FPGA que puedo descargar a los FPGA de Altera.
Ahora quiero ver y aprender como se diseña el USB y su interfaz de hardware y preferiblemente comenzando con algo básico y general y un diseño específico de un fabricante específico (Qualcomm, Motorola, Philips...)
Encontré un diseño para ISP1362, ¿sería ese un buen punto de partida o podría sugerirme algo mejor para aprender el diseño y las especificaciones de USB?
Mi objetivo es poder verificar formalmente el modelo, el diseño y las especificaciones del hardware real, pero necesito comenzar con algo básico y fácil.
El lugar habitual para buscar son los núcleos abiertos: si solo incluye diseños probados en FPGA, también descarta aquellos que solo se ven bien en el papel. Su funcionalidad USB se encuentra en la categoría "Controlador de comunicación".
Verificar formalmente un diseño es una tarea difícil, y lo felicito por la elección de buscar primero algo básico.
Personalmente, no estoy tan seguro de que verificar formalmente un controlador USB sea la única forma de hacerlo: al final, ambos lados de un enlace USB deben cooperar, y ser correcto no lo ayuda si aún no puede trabajar con el (posiblemente incorrecto) otro extremo (ni siquiera creo que la especificación USB esté probada formalmente).
Sin embargo, lo animo a que consulte yosys , cuyo autor realizó una charla bastante interesante sobre cómo probar diseños (en lugar de solo probarlos) basados en la inducción.
Dado que los estándares USB están abiertos, probablemente también debería descargar y leer las especificaciones.
Mi experiencia con el diseño del núcleo USB indica que la complejidad del marco USB necesita al menos 10 años-hombre de diseñadores RTL/VHDL experimentados para lograr la lógica del USB del lado del dispositivo, con un entorno de banco de prueba de verificación de protocolo y un modelo de bus. Y mucho más para el lado del HOST. Si puede permitirse el lujo de comprar IP, por ejemplo, DesignWare de Synopsis ($ 20k- $ 100k +), dedique al menos un año para aprender si comienza sin experiencia en USB.
El punto de partida son definitivamente las especificaciones USB, complementadas (o precedidas) por clases populistas (interpretaciones y libros) de MindShare . Hay algunos otros tutoriales/introducciones en línea, pero no todos son buenos para aprender desde un nuevo comienzo.
Ale..chenski
Niklas Rosencrantz