Pregunta sobre la función set_dont_touch_network

1

Estaba intentando depurar una secuencia de comandos escrita para síntesis utilizando el horario central de Synopsys.

¿Puede alguien explicarme cuál es la función de set_dont_touch_network ?

Tengo estas 2 declaraciones:

  1. set_dont_touch_network [get_ports scan_enable*]
  2. set_dont_touch_network [get_ports resetb_i]

¿Cuál es la diferencia entre agregar un asterisco al final de una señal o no? ¿Alguien puede explicar?

    
pregunta Question Mark

1 respuesta

1

Este comando se usa para evitar que una red de reloj se modifique o reemplace durante la optimización. Es el comando Design Compiler que se usa durante la síntesis de RTL.

set_dont_touch_network [get_ports scan_enable*]

le dice al DC que obtenga todos los puertos scan_enable* y también todas las celdas & Las redes que también están conectadas con estos puertos y luego establecen el atributo dont_touch en ellos. Este atributo evita que esas celdas & Los puertos se modifican durante la optimización. Esto es útil cuando tiene una red optimizada y no quiere que la herramienta modifique la red durante la optimización.

Hay otro comando set_dont_touch que establece el atributo dont_touch solo en las celdas, puertos & pines especificados, no los elementos conectados en el fanout de ellos.

el asterisco (*) es en realidad uno de los comodines utilizados en varios entornos de shell. significa hacer coincidir cualquier cadena o caracteres. como scan_enable_001, scan_enable_002 etc. Aquí hay más comodines utilizados en el shell TCL.

    
respondido por el hassansin

Lea otras preguntas en las etiquetas