Wednesday, December 03, 2008     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: pre_body() and post_body() from virt-seq
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
SomeDude
Posts: 12
Online: User is Offline
2/05/2008 1:50 AM  
Hi there,

I implemented my objection handling "raise_objection" in pre_body() and "drop_objection" in post_body() so I don't have to worry about the test stopping during some sequence. When I "do" my sequences from a sve virtual_seq, the pre_body() and post_body() functions are not called whereas when I "do" my sequences from the MAIN eVC sequence, both are called.

Is this intended behaviour?

My workaround currently is calling pre_body() as first statement in body() itself and post_body at the very end.
The fact that calling them works tells me, that they are present.

Shouldn't they be called automatically by the virtual sequence before and after the body() section?

greetings
Hilmar
Posts: 8
Online: User is Offline
2/05/2008 5:23 AM  
Hi Dude,

To be on the safe side, did you declare your virtual sequence driver with the sequence-macro to create the sequence infrastructure, or if you didn't, did you let your sequence like-inherit from any_sequence?

Regards,
Hilmar

Hilmar v.d. K.
thinkverification
Posts: 28
Online: User is Offline
2/05/2008 6:45 AM  
Hi,

I believe pre_body() is called only when you start your sequence using start_sequence(), which is not so common.
So if you're "DO"ing your sequence - it won't work.
However, if I remember correctly- MAIN sequences are started automatically with "start_sequence()" so pre_body() should work for themt, but as for other sequence kinds - you might want to look into the pre_do() tcm.

Hope this help :-)

Yaron

Yaron Ilani
VLSI Verification Specialist
www.ThinkVerification.com
er_gauravpatel
Posts: 4
Online: User is Offline
2/05/2008 10:39 AM  
Hi,

In this case i you can implement the objection mechanism by raising the TEST_DONE objection from the virtual sequence pre_body() and dropping it from the virtual sequence post_body().

Hope this will help to you.

--
Regards,
Gaurav Patel
ASIC Engineer
eInfochips.
www.einfochips.com
SomeDude
Posts: 12
Online: User is Offline
2/05/2008 10:49 PM  
Thx for the help guys!

Posted By Hilmar on 2/05/2008 5:23 AM

To be on the safe side, did you declare your virtual sequence driver with the sequence-macro to create the sequence infrastructure, or if you didn't, did you let your sequence like-inherit from any_sequence?
I used the macro.

Posted By thinkverification on 2/05/2008 6:45 AM

I believe pre_body() is called only when you start your sequence using start_sequence(), which is not so common.
So if you're "DO"ing your sequence - it won't work.
However, if I remember correctly- MAIN sequences are started automatically with "start_sequence()" so pre_body() should work for themt, but as for other sequence kinds - you might want to look into the pre_do() tcm.
thx for the tip, I scavanged around in some older documents we had and found the mid_do() and post_do() hooks. Using those I now raise and drop objections in the driver itself. I think pre_do() is done before the pointers are connected. I failed to find this whole pre_do/mid_do/post_do in the latest documents though, only in some 4.something version.

Posted By er_gauravpatel on 2/05/2008 10:39 AM

In this case i you can implement the objection mechanism by raising the TEST_DONE objection from the virtual sequence pre_body() and dropping it from the virtual sequence post_body().
That was already implemented and didn't fully do it. As soon as the virtual sequence was finished, the test stopped, but the subsequences were not fully done yet. The stimulus was done, but the collecting agents were not completely done. As result, scoreboards were still full and the dut wasn't done digesting the input. Hence I also put objections into the collecting agents that once they found some data stream they keep the objection it up till they are done as well.

greetings
Posting to forums is available to community members only.
Login or Register

Forums > Functional Verification > e > pre_body() and post_body() from virt-seq


ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.