doubt in variable passing in multiple process
let me say
i am having two processes process(clk1) and process(clk2) process(clk1) variable x:natural:=0; begin if clk'event and clk='1' then x := x+1; end if end process; process(clk2) begin ---- ------- ----- end process in the 1st process x may be changed to some 10 let me say. and i want that variable with changed value to be utilized in 2nd process how can i do it. if i declare variable x before process1 it is giving error that shared variables only should be declared here. thank you |
Re: doubt in variable passing in multiple process
[email protected] wrote:
> let me say > > i am having two processes > process(clk1) and process(clk2) > > > process(clk1) > variable x:natural:=0; > begin > if clk'event and clk='1' then > x := x+1; > end if > end process; > > process(clk2) > begin > ---- > ------- > ----- > end process > > in the 1st process x may be changed to some 10 let me say. > and i want that variable with changed value to be utilized in 2nd > process how can i do it. > if i declare variable x before process1 it is giving error that shared > variables only should be declared here. > thank you > Dude there's gotta be a better way of learning the language. This is too much hand holding, these are fundamental things in VHDL. Read your book, work the examples. It's all there... -Dave -- David Ashley http://www.xdr.com/dash Embedded linux, device drivers, system architecture |
Re: doubt in variable passing in multiple process
Variable declared in a process are only available for that process. I
think you better study some more basics before approaching any project. [email protected] wrote: > let me say > > i am having two processes > process(clk1) and process(clk2) > > > process(clk1) > variable x:natural:=0; > begin > if clk'event and clk='1' then > x := x+1; > end if > end process; > > process(clk2) > begin > ---- > ------- > ----- > end process > > in the 1st process x may be changed to some 10 let me say. > and i want that variable with changed value to be utilized in 2nd > process how can i do it. > if i declare variable x before process1 it is giving error that shared > variables only should be declared here. > thank you > |
Re: doubt in variable passing in multiple process
[email protected] wrote:
> let me say > > i am having two processes > process(clk1) and process(clk2) > > > process(clk1) > variable x:natural:=0; > begin > if clk'event and clk='1' then > x := x+1; > end if > end process; > > process(clk2) > begin > ---- > ------- > ----- > end process > > in the 1st process x may be changed to some 10 let me say. > and i want that variable with changed value to be utilized in 2nd > process how can i do it. Use a signal. Signals are the normal way for communication between processes. > if i declare variable x before process1 it is giving error that > shared variables only should be declared here. > thank you Variables declared outside a process must be declared shared. But stay away from shared variables as a beginner. With shared variables it is possible to create non-deterministic behavior. So for now stay clear. First learn the fundamentals of VHDL. -- Paul. |
Re: doubt in variable passing in multiple process
Paul Uiterlinden wrote:
> Use a signal. Signals are the normal way for communication between > processes. Or do all of the logic using the variable x_v in the same process. A process port assignment like my_port <= x_v; will then do the job without any interposed signals. -- Mike Treseler |
All times are GMT +1. The time now is 12:14 PM. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved