Analyseur de synchronisation Créer une commande d’horloge générée

author-image

Par

L’Analyseur de synchronisation prend en compte les diviseurs d’horloge, les horloges d’ondulation ou les circuits qui modifient ou modifient les caractéristiques de l’horloge entrante ou de l’horloge hôte comme des horloges générées. Vous devez définir la sortie de ces circuits comme des horloges générées. Cette définition permet à l’Analyseur de synchronisation d’analyser ces horloges et de prendre en compte toute latence réseau associée à ces horloges.

Vous pouvez utiliser la commande create_generated_clock pour créer des horloges générées. La liste suivante montre la commande create_generated_clock et les options disponibles :

create_generated_clock
   [nom <clock>]
   - broche <host source>
   [liste <edge des bords>]
   [-edge_shift <shift list>]
   [-divide_by <factor>]
   [-multiply_by <factor>>
   duty_cycle <percent>]
   [-add] [-invert]
   [-host_clock <clock>]
   [-phase <phase>]
   [-offset <offset>]
   objets <source>

Le tableau 1 décrit les options de commande create_generated_clock.

Les latences source sont basées sur les retards du réseau d’horloge de l’horloge hôte (pas nécessairement l’broche hôte). Vous pouvez utiliser la commande set_clock_latency source pour remplacer la latence source.

La Figure 1 montre les formes d’ondes des commandes SDC suivantes qui créent une horloge générée invertie basée sur une horloge 10 ns.

create_clock -period 10 [get_ports clk]
create_generated_clock -divide_by 1 -invert -source [get_registers clk] \
    [get_registers gen|clkreg]

Figure 1. Générer une horloge inverse.

La Figure 2 montre les formes d’ondes des commandes SDC suivantes qui modifient l’horloge générée à l’aide des options -edges and -edge_shift.

create_clock -period 10 -waveform { 0 5 } [get_ports clk]
# Crée une horloge divise par 2 create_generated_clock
-source [get_ports clk] -edges { 1 3 5 }
    \ [get_registers clkdivA|clkreg]
# Crée une horloge divise-par-2 indépendante du cycle d’utilisation de l’horloge hôte maintenant 50 %)
create_generated_clock -source [get_ports clk] -bords { 1 1 5 } -edge_shift  0 5 0 }
    [get_registers clkdivB|clkreg]

Figure 2. Bords et déplacement de périphérie une horloge générée.

La Figure 3 montre les wafeforms des commandes SDC suivantes qui démontrent l’effet de l’option de multiplication sur l’horloge générée.

create_clock -period 10 -waveform { 0 5 } [get_ports clk]
# Crée une horloge multiply-by-2 create_generated_clock
-source [get_ports clk] -multiply_by 2
    \ [get_registers clkmhk|clkreg]

Figure 3. Multiplier une horloge générée.

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.