![]() |
|
|
|||||||
![]() |
VHDL - Modelsim breakpoint on end process. |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
Hi,
I am trying to place a breakpoint on an "end process" statment. When I have the following code: process (A , B) begin result <= ('0' & A); end process; the "end process" statment is executable and Modelsim lets me place a breakpoint on the "end process" statment. However if I have the following code: P3: process (A , B) begin result <= ('0' & A)+('0' & B); end process; the "end process" statement is not executable and hence I cannot place a breakpoint on the line. Does anybody have any idea why this happens. Thanks Nitin nitinyogi80@yahoo.com |
|
|
|
|
#2 |
|
Posts: n/a
|
wrote: > Hi, > I am trying to place a breakpoint on an "end process" statment. > When I have the following code: > > process (A , B) > begin > result <= ('0' & A); > end process; > > the "end process" statment is executable and Modelsim lets me place a > breakpoint on the "end process" statment. However if I have the > following code: > > P3: process (A , B) > begin > result <= ('0' & A)+('0' & B); > end process; > > the "end process" statement is not executable and hence I cannot place > a breakpoint on the line. Does anybody have any idea why this happens. Try: end process P3; -a Andy Peters |
|
|
|
#3 |
|
Posts: n/a
|
Hi Andy,
Sorry that is'nt working either. Another weird thing I noticed was. When I have the following code: P3: process (A) -- just 1 signal is sensitivty list rather than 2 begin result <= ('0' & A)+('0' & B); end process P3; again the "end process" statement becomes executable and I am able to place a breakpoint on it. Thanks for your suggestion. Does anybody have any more ideas about getting around this problem. Thanks Nitin nitinyogi80@yahoo.com |
|
|
|
#4 |
|
Posts: n/a
|
wrote:
> the "end process" statment is executable and Modelsim lets me place a > breakpoint on the "end process" statment. However if I have the > following code: > > P3: process (A , B) > begin > result <= ('0' & A)+('0' & B); > end process; > > the "end process" statement is not executable and hence I cannot place > a breakpoint on the line. Does anybody have any idea why this happens. Have you tried to use lower optimisation setting, for example start with -O0. That should preserve all the information for debugging. --Kim Kim Enkovaara |
|
|
|
#5 |
|
Posts: n/a
|
wrote:
> Hi Andy, > Sorry that is'nt working either. Another weird thing I > noticed was. When I have the following code: > > P3: process (A) -- just 1 signal is sensitivty list rather than 2 > begin > result <= ('0' & A)+('0' & B); > end process P3; > > again the "end process" statement becomes executable and I am able to > place a breakpoint on it. Thanks for your suggestion. Does anybody have > any more ideas about getting around this problem. Make sure that when you analyze and elaborate that you display all warnings. Maybe something else is going on in other parts of your code? -a Andy Peters |
|
|
|
#6 |
|
Posts: n/a
|
Hi,
Kim, your suggestion worked! You were right, it was doing some kind of optimizations. When I tried "vcom -O0 adder.vhd", all "end process" statments are now executable. I'll have to see now whether lowering the optimization has any adverse effects on what I am trying to acheive. Thanks Kim. Andy thanks to you too, for your suggestions. I think keeping all warnings ON will help me debug much better. I'll write back letting you people know that it's really working. Thanks Nitin nitinyogi80@yahoo.com |
|
|
|
#7 |
|
Posts: n/a
|
wrote:
> Hi, > Kim, your suggestion worked! You were right, it was doing some > kind of optimizations. When I tried "vcom -O0 adder.vhd", all "end > process" statments are now executable. I'll have to see now whether Modelsim at least in SE versions merge the processes in some cases with higer optimisation levels. You can see that for example if you try to force something inside merged process. The path contains merged word i.e. change /foobar/#MERGED#proc1,proc2,proc3/var 16#0 --Kim Kim Enkovaara |
|
|
|
#8 |
|
Posts: n/a
|
Kim Enkovaara wrote:
> Modelsim at least in SE versions merge the processes in some cases > with higer optimisation levels. You can see that for example if you > try to force something inside merged process. The path contains merged > word i.e. > > change /foobar/#MERGED#proc1,proc2,proc3/var 16#0 Yes. This is very common with multiple synchronous processes on the same clk,rst,enable. This is one reason I started merging processes myself at the source level. -- Mike Treseler Mike Treseler |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Asynchronous process from asp.net page button click event? | Ritha | Software | 0 | 09-29-2009 03:20 PM |
| Recycle Worker Process Not Working | JAB | Software | 0 | 09-04-2008 05:22 PM |
| simprim problems on modelsim | saiyijinprince | Hardware | 2 | 04-05-2007 02:24 PM |
| A+ Exam Revision Update Process Starting | John P. Dearing | A+ Certification | 6 | 02-10-2006 01:44 AM |
| Burn process failed - help! Log file posted for help troubleshooting | Michael Mason | DVD Video | 1 | 08-16-2004 09:24 PM |