> Accueil > Campus de Rennes > Personnel > WEISS Jacques > Quartus > Quartus : Analyse temporelle
Bienvenue sur ma nouvelle page web (en cours de construction) ...
 

Quartus : Analyse Temporelle

Voici quelques informations concernant l'analyse temporelle sous Quartus avec TimeQuest :


Exemple du projet BIDON :

Rappel : Il ne doit pas y avoir de warnings ni d'erreurs ; en cas contraire, il faut ABSOLUMENT les investiger (fort risque de non-fonctionnement !).

Il faut définir les conditions opérationnelles du projet (fréquence et temps) ; ceci se fait par un fichier de script SDC (Synopsys Design Constraints file) soit par édition directe, soit par l'usage de Assignments/TimeQuest Timing Analyzer Wizard ... ; exemple (extraits de bidon.sdc) :

# Clock constraints    (horloge de 50 MHz, rapport cyclique 1/2)
create_clock -name "horl" -period 20ns [get_ports {horl}] 

# tsu/th constraints    (temps de setup et de hold pour les entrées KEY)
set_input_delay -clock "horl" -max 7ns [get_ports {KEY[*]}] 
set_input_delay -clock "horl" -min 0ns [get_ports {KEY[*]}] 

# Constrain the output I/O path     (signaux de sortie)
#Destination setup time
set_output_delay -clock "horl" -max 10ns [all_outputs]
#Destination hold time
set_output_delay -clock "horl" -min 0ns [all_outputs]


La lecture du rapport de compilation fournit la fréquence maximale de fonctionnement du projet (en incluant les caractéristiques temporelles des éléments connectés sur les E/S) :


Il est possible d'identifier les chemins les plus longs, responsables de la limitation de performance :


Signification des termes employés :


Interprétation de ces chiffres :

(Contexte du projet : horloge = 50 Mhz ; Tco ≤ 10 ns)

Slack (garde) : ≥ 1,683 ns

Ainsi :

  • Le tCO_max (temps de propagation Clock-to-Output) devrait être de :
    (Data_Delay - Clock_Skew) = 5,638 + 2,679 = 8,317 ns (pour la broche DIGIT_A[0])
  • La période minimale de fonctionnement est de (tCO_max + Destination_SetUp) = 8,317 + 10 = 18,317 ns
  • Par rapport aux d'utilisation conditions définies (horloge à 50 MHz),
    il y a une marge temporelle (slack) de : 20 - 18,317 = 1,683 ns
  • La fréquence maximale de fonctionnement est de : 1/(18,317) = 54,59 MHz
  • Si l'on confronte ces chiffres à une observation faite en simulation temporelle, on retrouve le même ordre de grandeur (exactement la même valeur, dans le cas de DIGIT_B sur la figure ci-dessous).


    Pour plus de détails, il est conseillé d'aller sur la page web d'Altera : TimeQuest Design Examples

    Mise à jour : le 09/11/2012 09:32