Modelsim breakpoint on end process.

Discussion in 'VHDL' started by nitinyogi80@yahoo.com, Jun 27, 2005.

  1. Guest

    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
    , Jun 27, 2005
    #1
    1. Advertising

  2. Andy Peters Guest

    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, Jun 27, 2005
    #2
    1. Advertising

  3. Guest

    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
    , Jun 28, 2005
    #3
  4. 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, Jun 28, 2005
    #4
  5. Andy Peters Guest

    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, Jun 28, 2005
    #5
  6. Guest

    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
    , Jun 29, 2005
    #6
  7. 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, Jun 29, 2005
    #7
  8. 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, Jun 29, 2005
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mark
    Replies:
    4
    Views:
    7,930
    mike_treseler
    Nov 9, 2004
  2. Mark
    Replies:
    4
    Views:
    350
    Rick Spiewak
    Apr 26, 2004
  3. fpgaengineer
    Replies:
    7
    Views:
    3,705
    Mike Treseler
    Mar 12, 2007
  4. dt
    Replies:
    14
    Views:
    1,718
  5. rwdfan
    Replies:
    6
    Views:
    1,991
Loading...

Share This Page