question VHDL

T

tooh83

Guest
Salut
J'ai besoin de savoir s'il existe une commande en VHDL qui peut faire ce qui suit:
if (changement de signal), puis
faire qc ..
et si la réponse est non alors comment puis-je faire?
thnx à l'avance

 
vous pouvez utiliser 'événement comme:

if (signal'event)
......

Cela exécutera ce que tu veux à chaque changement de signal ur.

 
processus (CLK, reset)
commencer
Si la réinitialisation = '0 'alors
<Prev_sig = '0 ';
elsif (CLK = '1 'et clk'event) puis
= <Current_sig prev_sig;
fin si;
processus (CLK)
if (CLK = '1 'et clk'event) puis
si prev_sig / = current_sig puis
<<<FAIRE QUELQUE CHOSE>>>
fin si;
fin si;
processus de bout;

 
Processus (signal)
commencer
faire quelque chose;
processus de bout;

 
Foo: Processus
Commencer
Attendez jusqu'à ce que signal'event;
...
Foo Terminer le processus;

 
pour un signal .... u pouvez utiliser l'événement "attribut" pour tester si sa valeur est modifiée ou non

signal'event

 
Oui u peut passer par ce code.Si les frais sans problème à contacter

IEEE bibliothèque;
ieee.std_logic_1164.all utilisation;

flipflopT entité est
port (CLK, t: en std_logic;
q, qq: std_logic out);
flipflopT fin;

arc de l'architecture est flipflopT
tmp signal: std_logic;

commencer
processus (CLK)
commencer
si clk'event et (CLK = '1 ') et t = '1' alors <tmp = tmp pas;
fin si;
processus de bout;
q <= tmp;
qq <= pas tmp;
arc fin;

 
Pourquoi ne pas utiliser cette fonction?

processus (signal)
commencer
ne r.
processus de bout;

 
est un processus de construction de THT peut être utilisé pour résoudre ur problème.
L'autre façon est u ne peut utiliser l'événement pour ce qui sera le suivant.

ex: si le signal sur lequel ur d'attente est de dire "ret", puis code se présente comme ci-dessous

processus (ret)
commencer
/ / / / Faire quelque chose

processus de bout

Il en résulte une logique combinatoire
si l'événement est utilisé, alors que se traduirait aussi par une logique séquentielle ....

 
tooh83 a écrit:

Salut

J'ai besoin de savoir s'il existe une commande en VHDL qui peut faire ce qui suit:

if (changement de signal), puis

faire qc ..

et si la réponse est non alors comment puis-je faire?

thnx à l'avance
 
Salut

Il existe 3 façons

1.une déclaration d'attente à la fin ou le début du processus de

par exemple.d'attente sur une

si «change un, puis le processus de réévaluation

2.une liste de sensibilité dans le processus

par exemple.processus (la liste de sensibilité) - processus (a)

3.et si la déclaration d'un événement

bonne chance

 
Je préfère utiliser rising_edge (SIG) et falling_edge (SIG) fonctions

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top