L’horloge de l’analyseur de synchronisation permet le multicycle

author-image

Par

Avec les commandes de synopsys® Design Constraint (SDC set_multicycle_path) et les commandes get_fanouts, vous pouvez créer une exception multicycle basée sur un registre d’activation.

La Figure 1 présente un circuit simple dans lequel le registre enable_reg est utilisé pour créer un signal enregistré activé pour les registres din_a_reg[7.0], din_b_reg[7.0], din_x_reg[7.0], din_y_reg[7.0], a_times_b et x_times_y.

Figure 1. Permet la conception d’une activation simple et enregistrée.

Le registre d’activation enable_reg génère une impulsion d’activation qui est deux fois la période d’horloge du registre et, à cause de cela, une exception au multicycle doit être appliquée pour l’analyse correcte. Une configuration multicycle de 2 et une prise multicycle de 1 doivent être appliquées au registre axé sur l’activation alimenté par le registre enable_reg. L’exception au multicycle est appliquée uniquement aux chemins d’inscription où le registre de destination est contrôlé par enable_reg.

Pour y parvenir, vous pouvez appliquer l’exception set_multicycle_path à tous les registres axés sur les activer. Cette méthode peut généralement être une marque de marque , car tous les registres axés sur l’activation doivent être spécifiés. Vous pouvez autrement utiliser la combinaison de set_multicycle_path et de get_fanouts comme suit :

#Setup multicycle de 2 registres de destination compatibles

set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end -setup

#Hold multicycle de 1 aux registres de destination axés sur l’activation

set_multicycle_path 1 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end –hold

L’objectif de l’exception set_multicycle_path se limite à tous les ventilateurs du registre reg_en qui alimentent le port d’activation d’un registre, ce qui se fait avec l’option suivante :

[get_fanouts [get_pins enable_reg|q*] -through [get_pins -hierarchical *|*ena*]]

Le Tableau 1 présente les nouvelles relations d’activation et de prise en charge de tous les chemins de registre à enregistrer axés sur l’activation dans la conception après l’application des exceptions au multicycle.

Tableau 1. Configurer et maintenir des relations pour les registres axés sur les fonctionnalités actives

Registre source

Registre des destinations

Relation de configuration

Relation de maintien

din_a[*]

din_a_reg[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

din_x[*]

din_x_reg[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

din_b[*]

din_b_reg[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

din_y[*]

din_y_reg[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

fast_mult:m |*

a_times_b[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

fast_mult:m |*

x_times_y[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

enable_reg

din_a_reg[*],din_b_reg[*], a_times_b[*],x_times_y[*]

2x (temps de périphérie de loquet)

1x (temps de périphérie de loquet)

Dans le Tableau 1, notez que la configuration et les relations qui commencent à l’enable_reg et qui se terminent à tout registre axé sur l’activation sont respectivement 2 et 1. Si ces chemins ne nécessitent pas la modification de la relation de configuration et de maintien, vous pouvez appliquer les exceptions multicycle suivantes pour appliquer les relations d’origine :

set_multicycle_path 1 -from [get_pins enable_reg|q*] –end -setup

set_multicycle_path 0 -from [get_pins enable_reg|q*] –end –hold

Téléchargez l’exemple de circuit clock_enable_multicycle.qar.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.