2015-11-18 4 views
0

Le langage VHDL suivant doit être utilisé pour tester le banc. Je continue d'obtenir une erreur sur la première déclaration d'attente pendant l'analyse: "wait statement doit contenir une clause de condition avec UNTIL mot-clé" J'ai plusieurs bancs de test de travail écrits de cette façon. Je n'arrive pas à trouver ce que l'erreur pourrait être.La déclaration d'attente doit contenir la clause de condition avec UNTIL mot-clé

`library IEEE; 
USE IEEE.std_logic_1164.all; 
entity case_ex_TB is end; 
architecture simple_test of case_ex_TB is 
--- DUT Component Declaration --- 
component case_ex 
    port(
    clk, rstN: IN std_logic; 
    color: OUT std_logic_vector(2 downto 0)); 
end component; 
--- Signals Declaration --- 
signal rst, clock: std_logic:='0'; 
signal color: std_logic_vector(2 downto 0); 

begin 
DUT: case_ex --- DUT instantiation --- 
port map (clk => clock, 
     rstN => rst, 
     color => color); 
--- Signal's Waves Creation --- 
rst <= '1','0' after 50 ns, '1' after 2 us; 
clock_crtate: process 
begin 
    while rst = '0' loop 
     clock <= '1','0' after 50 ns; 
     wait for 100 ns; 
    end loop; 
     clock <= '1'; 
     wait; 
end process; 
end simple_test;` 
+0

Vous parlez de Quartus-II, mais quel simulateur utilisez-vous? Vous n'essayez pas de synthétiser cela, n'est-ce pas? –

+0

Salut Morten, j'écris mon code avec Quartus-II et après je "Commencer l'analyse et la synthèse" j'obtiens cette erreur: Erreur (10533): Erreur d'instruction d'attente VHDL à case_ex_TB.vhd (26): La déclaration d'attente doit contenir la clause de condition UNTIL mot-clé. –

+1

La synthèse est pour la mise en œuvre d'une conception dans un dispositif, et la synthèse ne peut pas gérer l'attente temporisée comme «attendre 100 ns». Pour le banc d'essai, vous avez généralement besoin d'un simulateur comme ModelSim. Altera a ModelSim Starter Edition dans la suite, alors jetez un oeil à ça. –

Répondre

5

Vous obtenez cette erreur car vous avez défini votre testbench comme l'entité de niveau supérieur dans Quartus-II. L'entité de niveau supérieur doit rester le composant case_ex et ce composant doit contenir du code synthétisable.

Pour simuler votre banc d'essai, vous devez configurer un banc d'essai. Cliquez sur le signe plus avant "RTL Simulation" puis sur "Modifier les paramètres". (Les noms peuvent différer avec la version Quartus).

+0

J'ai un autre problème. –