Programación en Verilog/Sintetizabilidad

← Funciones y Tareas Sintetizabilidad Máquinas de estado →


Disponer de un diseño en Verilog que simule correctamente es relativamente fácil. Sin embargo, si lo que se desea es un diseño que sea sintetizable deben respetarse ciertas normas, algunas de las cuales se enumeran a continuación.

  • No emplear retardos, dado que ello conduciría a diseños no portables. Por norma general, los sintatizadores suelen ignorar estos retrasos.
  • No modificar una misma variable en dos procesos diferentes.
  • En una asignación procedural, todas las variables de las que dependa la asignación deben aparecer en la lista de sensibilidad.
  • Si no se define completamente una variable, el lenguaje supone que conserva el último valor asignado, sintetizándose un biestable que almacene su estado.
  • Los sintetizadores no admiten procesos initial.
  • Los sintetizadores no suelen admitir los operadores de división y resto.
  • Tener en cuenta el problema de carreara (race condition), que se produce cuando dos asignaciones se realizan al mismo instante pero una depende de la otra, y por tanto el orden de ejecución es importante.


← Funciones y Tareas Sintetizabilidad Máquinas de estado →