Portando mi respuesta de SO . 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, existe una variación en la velocidad; en un nivel alto, esto puede verse como Lento, Típico y Rápido. En la práctica, hay cientos de variaciones de estas esquinas donde ciertos tipos de dispositivos en el silicio funcionan rápido y otros son lentos.
Estas esquinas del silicio también tienen una clasificación de temperatura, el peor de los casos puede ser + 140C de silicio rápido y -40C de silicio lento. La variación de la demora a través de un buffer en este caso podría ser de 1ns a 30ns.
Para devolver esto a Verilog si #10
fuera sintetizable, en realidad obtendría 155 + -145, es decir, 10ns a 300ns, si también ha diseñado algo #20
para ser parte de la misma interfaz o estructura de control, tendrá un rango de 20ns a 600ns . Por lo tanto, todo esto no es realmente válido contra su diseño. No obtienes el exacto #10
y #20
eso fue especificado.
Los árboles de reloj están diseñados para limitar los retrasos máximo y mínimo y para que todos los nodos en el árbol de reloj se escalen uno con respecto al otro. 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.