Hoe gebruik je de variabele in VHDL?

G

Goodman

Guest
Hi all,

Zoals titel!
Plz deel uw ervaring!

een mooie dag verder!

 
Variabelen in verilog
1.simulatie
Voor simulatie het verschil tussen de signalen en variabele is echt duidelijk.variabele krijgt de waarde onmiddellijk op, maar het signaal krijgt zijn nieuwe waarde na al DELTA tijd stappen alleen.

2.Synthese
Voor de synthese, kan men niet c; learly zeggen dat de variabele niet zal worden gesynthetiseerd.Het hangt allemaal af van codering.maar het is beter te volgen een aantal regels (ex: variabele in for-lussen, het gebruik van variabelen voor memeory, .... etc) voor een goed gebruik van variabelen.In de bovengenoemde gevallen variabelen geeft betere resultaten in de synthese in vergelijking met signalen.Maar toch signalen worden gebruikt voor alle ontwerpen implementaties.Dus Synthesys punt voor gezien is het zeer diffcicult te distuinguish tussen signalen en variabelen, hangt het allemaal op codering.

 
Goodman schreef:

Hi all,Zoals titel!

Plz deel uw ervaring!een mooie dag verder!
 
signaal vs variabele
(1) Fysiek zin
Signalen vertegenwoordigen fysieke interconnectie (draad) dat de communicatie tussen processen (functies).

Variabele niet fysiek betekenissen heeft, bestaat niet in het echte circuits, vooral gebruikt voor simulatie, vertegenwoordigen de lokale opslag.Net als een variabele in C of Pascal, een variabele in VHDL draagt zij slechts een stukje informatie: de huidige waarde.

(2) Vertraging
Signalen opdracht kan vertraging hebben, werken op het einde van de process.It belangrijk is te beseffen dat zelfs zonder een clausule na, alle signalen voordoen bij sommige opdrachten oneindig kleine vertraging, de zogenaamde delta vertraging.Technisch, delta van de vertraging is geen meetbare eenheid, maar vanuit een hardware-ontwerp perspectief moet je denken aan delta vertraging als de kleinste tijdseenheid die u kan meten, zoals een femtoseconde.

Variabele opdrachten worden direct bijgewerkt

(3) Begrip
Signaal kan niet worden gedefinieerd in proces-en subprogramma (inclusief fuction en procedure), moet buiten hen worden gedefinieerd
Variabele kan alleen worden difined in uitvoering en subprogramma (inclusief fuction en procedure), mag niet buiten worden gedefinieerd.Het volgende is twee klassieke voorbeelden uit te leggen differents tussen signaal en variabele
Voor signalen ----------------- ----------
LIBRARY IEEE;
GEBRUIK IEEE.STD_LOGIC_1164.ALL;
GEBRUIK IEEE.STD_LOGIC_ARITH.ALL;
GEBRUIK IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY C1
PORT (IP: in std_logic;
CP: in std_logic;
OP: out std_logic
)
END C1;
ARCHITECTUUR VAN C1 is een
signaal d: std_logic;
BEGIN
proces (CP, IP)
beginnen
indien CP'event en CP = '1 'dan
D <= IP;
OP <= D;
end if;
einde proces
END a;
_________For Variable_________________________
LIBRARY IEEE;
GEBRUIK IEEE.STD_LOGIC_1164.ALL;
GEBRUIK IEEE.STD_LOGIC_ARITH.ALL;
GEBRUIK IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY C2
PORT (IP: in std_logic;
CP: in std_logic;
OP: out std_logic
)
END C2;
ARCHITECTUUR VAN een C2
BEGIN
proces (CP, IP)
variabele D: std_logic;
beginnen
indien CP'event en CP = '1 'dan
D: = IP;
OP <= D;
end if;
einde proces
END a;

 
Variabele in VHDL heeft sequentiële eigendom.Terwijl het proces signaal veranderingen is het uitvoeren van zijn verricht na een klok als het een kloksnelheid proces.Maar variabele op de andere kant verandert TEGELIJK op hetzelfde moment interval.Ze zijn vergelijkbaar met draad op echte circuits en ze worden gebruikt om gated input model zeggen Din wordt gecontroleerd door enkele combinatievormen ckt en vergrendeld.

Variabele zijn zeer nuttig als we willen C type codering schrijven

 
hoi
Vervolgens do u zeggen, dat variabelen niet synthetiseerbare in VHDL???

 

Welcome to EDABoard.com

Sponsor

Back
Top