Array og ændre værdien dector ('begivenhed ækvivalent)

W

Wild Life

Guest
Jeg finder den "begivenhed attributten nyttigt, men det kan kun bruges med std_logic signaler, jeg har brug for at gennemføre den samme tilstand (værdi ændre sig, mener jeg) om en std_logic_vector (31 downto 0).
Code:
 signal A: std_logic_vector (31 downto 0) proces (ur) påbegyndes, hvis rising_edge (ur) [color = "# FF0000"], hvis A'event derefter [/color] .... end if; end if
Jeg kender RØDE CODE ER UNCORRECT !!! Jeg ville bare vise, hvad jeg mener at beskrive ;-) Er der en attribut / måde til at gøre det?
 
"EVENT attributter arbejde på std_logic_vector signaler så godt. Faktisk arbejder de på nogen form af signaler (std_logic, std_logic_vector, heltal, brugerdefinerede typer, osv.) Problemet hvorfor det ikke virker for dig, er fordi, du forsøger at registreret en hændelse på en i en clocket proces . Hvis tiden begivenheder ikke passer nøjagtigt (ur event = tid A-begivenhed), vil A-begivenhed aldrig blive opdaget. Det betyder, at processen vil køre på et andet tidspunkt end A-signal vil ændre, og derfor arrangementer på A kan ikke påvises på denne måde. Tilføj signal A til følsomhed listen, og du vil se det til at virke.
 
Er problemet om synthesizable VHDL? Så bør du overveje, at det ikke er først og fremmest et problem i VHDL syntaks snarere end om hardware kapaciteter. Værdi ændring kan påvises i hardware logik ved stikprøver signalet og sammenligne den nuværende med den gemte tidligere værdi. Dette virker også for flere bits.
 
ikke behøver at skrive designs, som du ikke kan udføre i den skematiske
 
Den røde koden er korrekt VHDL - det bare ikke synthesisable VHDL. »Begivenhed bør ikke anvendes i synthesisable designs, som det gør ikke repræsenterer nogen reel hardware (medmindre du bruger det til ure: hvis clk'event og CLK = '1 'så ....). Dog, er du velkommen til at gå gal med det i testbenches - men jeg wouldnt sætte det i en clocket proces selv (for fornuften fcfusion påpeget). Du er nødt til at gøre hvad FVM foreslog - at opbygge en kant detektor med et register og en comparitor.
Code:
 proces (CLK) påbegyndes, hvis rising_edge (CLK) Thein input_r
 
LOL, hvad betyder det?
Jeg tror, ​​han mener, at du skal være i stand til at forestille sig en hardware logiske kredsløb for en synthesizable design. Der er ingen respektive hardware for en begivenhed attribut.
 

Welcome to EDABoard.com

Sponsor

Back
Top