Trasladar mi respuesta desde SO . Lo que se centra en por qué no es práctico sintetizar retrasos absolutos
Al sintetizar árboles de reloj, la herramienta de síntesis los equilibra agregando retrasos para que todos los nodos reciban el reloj al mismo tiempo, por lo que parece que la herramienta de síntesis tiene la capacidad de agregar retrasos.
Sin embargo, cuando se fabrican los ASIC hay una variación en la velocidad, en un nivel alto, esto se puede ver como Lento, Típico y Rápido. En la práctica, hay cientos de variaciones de estos rincones donde ciertos tipos de dispositivos en el silicio se ejecutan rápido y otros son lentos.
Estas esquinas del silicio también tienen una clasificación de temperatura, en el peor de los casos puede ser + 140C Silicio rápido y -40C Silicio lento. La variación del retardo a través de un búfer en este caso podría ser de 1ns a 30ns.
Para devolver esto a Verilog si #10
era sintetizable, en realidad obtendría 155 + -145, es decir, 10ns a 300ns, si también ha diseñado algo con #20
para que forme parte de la misma interfaz o estructura de control. Va a tener un rango de 20ns a 600ns. Por lo tanto, todo esto no es realmente válido contra su diseño. No obtiene los #10
y #20
exactos que se especificaron.
Los árboles de reloj están diseñados para limitar los retrasos máximos y mínimos y para que todos los nodos del árbol de reloj se amplíen entre sí. Nunca se les da una regla tan estricta que debe ser # 10ns ya que esto es físicamente imposible de garantizar en un circuito combinatorio.