Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
srinathvarda
Posts: 12
Registered: ‎03-30-2012
0

doubt in verilog

verilog doubt

i'm setting a flag F1 after a work W1 is done in an always block B1 of
module M1.
Now i'm referring that flag F1 in another always block B2 to start
work W2 when set. This block B2 is in the same module M1.

now when I do this I get an error saying I have multi-sourced the variable F1
 please help how to overcome this.

Expert Contributor
eteam00
Posts: 7,505
Registered: ‎07-21-2009
0

Re: doubt in verilog

In your entire design, only one process (an always block) or assign statement may change or assign the value of variable F1.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Expert Contributor
gszakacs
Posts: 5,269
Registered: ‎08-14-2007
0

Re: doubt in verilog

Perhaps you should post the code.  There have been other threads on multi-source

where it became obvious that XST has a bug in reporting the actual signal that is

multi-sourced.  "Referring to" signal F1 in any number of blocks is OK.  Assigning

a value to F1 can only happen in a single block.  Now suppose that in another block

you have assigned the value of F1 to another signal G1.  Then further suppose that

G1 is also assigned in another block or continuous assignment.  Then although

the problem is with G1, XST may report that F1 has multiple drivers because it

has already merged the two nets.

 

-- Gabor

-- Gabor