Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : août 2016
    Messages : 2
    Points : 3
    Points
    3

    Par défaut Compteur -> compilation OK / Simulation NOT OK

    Bonsoir Cheres, Chers Developpeurs de VHDL,

    Je suis entrain de réaliser un petit projet évolutif en VHDL (développement sur la WEB edition de Quartus II - version 9.1)

    Actuellement, je suis entrain de me prendre la tete sur la création de compteur et un signal d'horloge.
    Je n'ai pas de soucis à la compilation de mon code, mais à la simulation de celui-ci ou je me retrouve avec deux glitches qui ne devraient pas s'y trouver, j'ai écrit deux manière différentes les compteurs, les deux fois j'ai les glitches qui apparaissent au même endroit.

    Si vous êtes intéressé au problème, aller voir du coté du talk pour la visuaisation du problème (https://fixme.ch/wiki/Talk:Langage_VHDL)
    Pour le code complet, aller voir sur le github du projet : https://github.com/philouxy/Langage-...ject_2_Juggler

    Mes neuronnes sont morts alors si vous avez des idées, je suis preneurs

    Amitié du cht'y Philou

    Nom : Glitch_Compteur.jpg
Affichages : 67
Taille : 70,3 Ko

  2. #2
    Membre à l'essai
    Homme Profil pro
    Product Apps Engineer
    Inscrit en
    juillet 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Irlande

    Informations professionnelles :
    Activité : Product Apps Engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2016
    Messages : 12
    Points : 15
    Points
    15

    Par défaut

    Bonjour,

    Je suppose que tu fais une simulation post-implementation?

    Il faut prendre en compte que les bits de compteur_num_p ne changent pas forcement tous a la même vitesse dans la réalité.

    Je te conseille d'essayer d'assigner la valeur de clk_2Hz dans un process, de façon synchrone, au front de clock suivant.

    Florent
    ------------------------------------------------------------------
    www.dev-flow.com
    ------------------------------------------------------------------

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : août 2016
    Messages : 2
    Points : 3
    Points
    3

    Par défaut

    Sorry pour cette réponse tardive,

    Premièrement merci à Florent de m'avoir lu et répondu

    Le compteur est mode synchrone mais la génération de la clock de 2Hz (exemple) se trouve en mode asynchrone et combinatoire... donc comme on me l'a expliqué et Florent le mentionne aussi le passage d'une valeur à une autre peuvent venir perturber ce signal du à ce phénomène d'effet de compilation / sythétisation ou les portes ne réagissent pas de la même manière et cela peut apporter des glitches.

    Donc pour palier à ce phénomène, il faut aussi synchroniser ce signal sur la clock de base.

    voici mon nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    	--------------
    	-- compteur -- 
    	--------------	
    	CMPT_ETAT_FUTUR_2HZ : process(compteur_num_p)
    		begin 
    			if (compteur_num_p >= VAL_MAX_COMPTEUR_2HZ) then
    				compteur_num_f <= (others => '0');
    			else 
    				compteur_num_f <= compteur_num_p + 1;  
    			end if; 
    	end process; 
     
    	CMPT_ETAT_PRESENT_2HZ : process(CLK_1_8MHZ)
    		begin 
    			if ((CLK_1_8MHZ'event) and (CLK_1_8MHZ = '1')) then 
    				compteur_num_p <= compteur_num_f;
    			end if; 
    	end process; 
     
    --	-----------------------------------------
    --	-- Horloge 2Hz rapport cyclique de 50% -- 
    --	-----------------------------------------
    	CLK_2HZ_50P : process (compteur_num_p) 
    		begin 
    			if rising_edge (CLK_1_8MHZ) then 
    				if (compteur_num_f <= VAL_MAX_CMPT_DIV_2) then
    					clk_2Hz <= '0';
    				else 
    					clk_2Hz <= '1'; 
    				end if;
    			end if; 
    	end process; 
     
    	clk_2Hz_SIM <= clk_2Hz;
    J'espère que cela pourra servir à d'autre.

    Amitié - Philippe

Discussions similaires

  1. Réponses: 21
    Dernier message: 21/08/2014, 06h52
  2. Compiler SOFA (Simulation Open-Framework Architecture)
    Par Marcos_1983 dans le forum Débuter
    Réponses: 4
    Dernier message: 08/02/2013, 11h14
  3. [Dev-Pascal] Erreur de compilation : icon file not found
    Par MissAngela dans le forum Autres IDE
    Réponses: 2
    Dernier message: 28/11/2012, 21h48
  4. erreur a la compilation ,package does not existe
    Par 304bl dans le forum Général Java
    Réponses: 3
    Dernier message: 12/07/2011, 10h41
  5. Réponses: 3
    Dernier message: 11/08/2009, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo