quartus2: warning que je ne comprend pas

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur: Modérateur

quartus2: warning que je ne comprend pas

Messagede sabord le 18 Mai 2005 10:01

bonjour,

walla ce que j'obtiens après compilation:


Warning: Design contains 5 input pin(s) that do not drive logic
Warning: No output dependent on input pin P1_clk
Warning: No output dependent on input pin P2
Warning: No output dependent on input pin clk
Warning: No output dependent on input pin nRST
Warning: No output dependent on input pin ld

quelqu'un comprend t'il ce que j'ai oublié de faire?

/me perplexe
sabord
PONCTUEL
PONCTUEL
 
Messages: 18
Inscription: 16 Mai 2005 8:02

Messagede JP le 18 Mai 2005 10:20

Bonjour sabord,

Ca serait possible d'avoir le code avec ?

a+
JP
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Messagede sabord le 18 Mai 2005 11:25

voilà l'architecture principale:
les différents composants compilent comme il faut...
c lorsque je compile l'ensemble que j'ai des erreures

library ieee ;
use ieee.std_logic_1164.all;
use IEEE.NUMERIC_STD.ALL;
use ieee.std_logic_unsigned.all;
----------------------------------------------------

Entity cod_opt is
port(
P1_clk:in std_logic;
P2:in std_logic;
clk:in std_logic;
nRST:in std_logic;
ld: in std_logic;
tx:out std_logic;
tx_busy :out std_logic

);
End cod_opt;

architecture behavior of cod_opt is


------------------------------------------------------------
component BasculeD is
port(
P2 :in std_logic;
P1_clk : in std_logic;
nRST:in std_logic;
q:out std_logic
);
end component;
-------------------------------------------------------------
component XOR_INV is
port( clk: in std_logic;
q: in std_logic;
sens: out std_logic
);
end component;
--------------------------------------------------------------
component compteur is

generic(n: natural :=13);
port(
nRST: in std_logic;
P1_clk: in std_logic;
sens: in std_logic;
Qcompt: out unsigned(n-1 downto 0)
);
end component;

--------------------------------------------------------------
component Div_Freq is
port(
clk:in std_logic;
nRST: in std_logic;
TOP_16 :out std_logic
);
End component;
----------------------------------------------------------------
component multiplieur is
port(
clk:in std_logic;
Qcompt:in unsigned(12 downto 0);
nRST:in std_logic;
Qmult:out unsigned(7 downto -7)
);

End component;
----------------------------------------------------------------
component Div_Freq_TX is
port(
clk:in std_logic;
nRST: in std_logic;
TOP_TX :out std_logic
);
End component;
---------------------------------------------------------------
component TX_RS232 is
port(
nRST: in std_logic;
clk: in std_logic;
TOP_TX : in std_logic;
ld: in std_logic;
Qmult :in unsigned(7 downto -8);
tx: out std_logic;
tx_busy:out std_logic
);
End component;
begin
end behavior;
sabord
PONCTUEL
PONCTUEL
 
Messages: 18
Inscription: 16 Mai 2005 8:02

Messagede JP le 18 Mai 2005 17:43

Je n'ai pas d'erreur avec ton code.

Vérifies que tu n'assignes pas 2 valeurs différentes à une même variable en même temps.
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Messagede sabord le 19 Mai 2005 9:25

mon pb vient peut-être de ce que je sais pas bien me servir de quartus 2.

j'ai d'autre warnings concernant les sorties que j'essaie de visualiser en simulation.
quartus 2 les mets toutes à la masse....et forcément elles ne changent pas lors de la simu...

avec le logiciel que j'utilisais avant(et que je n'ai pas sous la main), pour simuler, il n' y avait pas besoin d' assigner les pins...il suffisait de préciser que les sorties n'avaient pas d'états prédéfinis, de définir les entrées, et lancer la simu...

sous quartus 2 je suis paumé...si on n'assigne pas les pins, il semble impossible de visualiser sur chronogramme les sorties,...ce qui est embêtant pour les signaux intermédiaire....

et le tutorial n'est pas d'une grande aide...

utilises tu quartus2 ?
sabord
PONCTUEL
PONCTUEL
 
Messages: 18
Inscription: 16 Mai 2005 8:02

Messagede JP le 19 Mai 2005 12:19

les sorties que j'essaie de visualiser en simulation.
quartus 2 les mets toutes à la masse....et forcément elles ne changent pas lors de la simu...


Les sorties sont normalement en état indéterminé avant une simulation comme ici :

Image

avec le logiciel que j'utilisais avant(et que je n'ai pas sous la main), pour simuler, il n' y avait pas besoin d' assigner les pins...il suffisait de préciser que les sorties n'avaient pas d'états prédéfinis, de définir les entrées, et lancer la simu...


Dans Quartus, il faut définir ce que tu veux voir en simul. Je trouve que ce système est plus clair que de devoir faire le tri dans l'ensemble des signaux.
Le reste est apparemment identique.
Si tu préfères trier tu peux peut être regarder du côté du filtre du "node finder"
Je comprends que ce ne soit pas évident de changer d’outil quand on en maîtrise un autre...

sous quartus 2 je suis paumé...si on n'assigne pas les pins, il semble impossible de visualiser sur chronogramme les sorties,...ce qui est embêtant pour les signaux intermédiaire....


Si tu veux visualiser des signaux intermédiaires, il suffit de les déclarer comme une sortie que tu veux visualiser.

utilises tu quartus2 ?

Oui, depuis peu.
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Messagede Invité le 19 Mai 2005 13:34

ce que je veux dire, c que avec les warnings que j'ai,
mes différents signaux restent à 0, même si je les spécifient comme inconnu avant de lancer la simulation.
walla la lsite de tous mes warnings....


Warning: Feature Netlist Optimizations is not available with your current license
Warning: Output pins are stuck at VCC or GND
Warning: Pin tx stuck at GND
Warning: Pin tx_busy stuck at GND
Warning: Pin sens stuck at GND
Warning: Pin TOP_16 stuck at GND
Warning: Pin TOP_TX stuck at GND
Warning: Pin Qcompt[12] stuck at GND
Warning: Pin Qcompt[11] stuck at GND
Warning: Pin Qcompt[10] stuck at GND
Warning: Pin Qcompt[9] stuck at GND
Warning: Pin Qcompt[8] stuck at GND
Warning: Pin Qcompt[7] stuck at GND
Warning: Pin Qcompt[6] stuck at GND
Warning: Pin Qcompt[5] stuck at GND
Warning: Pin Qcompt[4] stuck at GND
Warning: Pin Qcompt[3] stuck at GND
Warning: Pin Qcompt[2] stuck at GND
Warning: Pin Qcompt[1] stuck at GND
Warning: Pin Qcompt[0] stuck at GND
Warning: Design contains 5 input pin(s) that do not drive logic
Warning: No output dependent on input pin PD1_clk
Warning: No output dependent on input pin PD2
Warning: No output dependent on input pin clk
Warning: No output dependent on input pin nRST
Warning: No output dependent on input pin ld

bizarre de chez bizarre...
Invité
 

Messagede Invité le 19 Mai 2005 14:10

ayé je crois avoir trouvé où est mon erreure...je vérifie..
Invité
 

Messagede sabord le 23 Mai 2005 9:52

mon problème vient de mon multplieur: voici le code que j'utilise(inspiré d'un code que j'ai trouvé sur le net).
J'ai enfin réussi à le simuler, mais il ne fonctionne pas comme je voudrais.

___________________________
library ieee;

USE ieee.std_logic_1164.all;
use IEEE.NUMERIC_STD.ALL;
----------------------------------------------------
--

----------------------------------------------------
Entity Multiplieur is


port( clk:in std_logic;
Qcompt:in unsigned(12 downto 0);
nRST:in std_logic;
Qmult:out unsigned(14 downto 0));
End Multiplieur;

----------------------------------------------------

architecture comportement of Multiplieur is


begin
process(nRST,clk)
begin
if(nRST='1') then
Qmult<=(others=>'0');si je remplace 0 par 1 je n'ai plus mes warnings, par contre à la simu, dans un cas comme dans l'autre ça ne marche pas

Elsif rising_edge(clk)then
Qmult <= to_unsigned( (to_integer(Qcompt) * 3 / 100 ),15);

End if;

End process;
end comportement


J'ai trouvé un autre code utilisant le package ufixed_pkg:mais là, je ne parviens pas à compiler car je ne dispose pas de ce package.(peut-être parce que j'utilise la version gratuite? mais j'ai réussi à trouver le fichier vhd de ce package, mais je ne sais pas comment le compiler pour l'inclure à la librairie ieee. Quelqu'un a une idée???


library ieee;

USE ieee.std_logic_1164.all;
use IEEE.NUMERIC_STD.ALL;

use ieee.fixed_pkg.all;

----------------------------------------------------
--

----------------------------------------------------
Entity Multiplieur is


port( clk:in std_logic;
Qcompt:in unsigned(12 downto 0);
nRST:in std_logic;
Qmult:out ufixed(7 downto -7));
End Multiplieur;

----------------------------------------------------

architecture comportement of Multiplieur is

signal valcompt : ufixed (12 downto 0);
signal coeff : ufixed (0 downto -3);



begin
process(valcompt,coeff)
begin
valcompt <=to_ufixed (to_integer(Qcompt), valcompt'high, valcompt'low);

coeff <= to_ufixed (0.03, coeff'high, coeff'low);
Qmult<=valcompt*coeff;

End process;
end comportement;
sabord
PONCTUEL
PONCTUEL
 
Messages: 18
Inscription: 16 Mai 2005 8:02

Messagede JP le 23 Mai 2005 10:32

J'ai trouvé ça comme exemple:

LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
USE IEEE.STD_LOGIC_SIGNED.ALL ; --Essayes avec ces librairies
USE IEEE.STD_LOGIC_ARITH.ALL ;

ENTITY Multiplieur IS
GENERIC (Tmult : TIME ;
NbBits : INTEGER );
PORT ( Entree1 : IN Std_Logic_Vector(NbBits-1 DOWNTO 0) ;
Entree2 : IN Std_Logic_Vector(NbBits-1 DOWNTO 0) ; -- Quand c'est un bus, je crois que c'est Std_Logic_Vector, pas sur que unsigned fonctionne
Sortie : OUT Std_Logic_Vector(NbBits-1 DOWNTO 0) );
END Multiplieur ;

ARCHITECTURE comportementale OF Multiplieur IS

BEGIN
ProcessMultiplieur : PROCESS (Entree1, Entree2)

VARIABLE in1, in2, s : INTEGER ;

BEGIN
in1 := CONV_INTEGER (Entree1) ;
in2 := CONV_INTEGER (Entree2) ;
s := in1 * in2 ;
Sortie <= CONV_STD_LOGIC_VECTOR(s, NbBits) AFTER Tmult ;
END PROCESS ProcessMultiplieur ;
END comportementale ;

Essayes peut être avec ce code, il m'a l'air plus académique :)
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Suivante

Retourner vers Electronique numérique et logique programmable

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités