Mentor Graphics New England User Group Meeting Presentation

Mike and I attended Mentor Graphics New England Users Group Meeting yesterday and mike did a small presentation about Teal and Truss. For reference these were the slides Mike presented. It’s always interesting to give a presentation and I think we’re getting better each time we try. This presentation I think better highlighted the thinking behind teal and truss while also giving a decent overview.

Regards,

/Robert

Road map for components classes

Hi Mike,

I am a new comer to the open source field for verification.

I have previously used Vera and its RVM methodology. I was really happy with the way the project terned out.

I was comparing the RVM and truss features briefly.

It seems very similar. However, I had a question questions on missing features and the timeline of its roadmap if under development.

1. Virtual ports in Vera. They were very useful for reusability. Do we have something similar ?
2. Random Constraint solver
3. Functional coverage

Can you please comment on the same. Sorry if its on the website and I missed them.

Maybe we can make a small document noting difference b/w RVM (similar such methodologies) and truss. This will give a new adopter more confidence in the infrastructure that you provide.

Thanks again for your efforts.

-Shamik

HOWTO: Configure SVN for read-only access

The source code to Teal and Truss is currently available through subversion, a popular source code control system. Currently, only Mike and Robert have commit privileges, though they are happy to accept patches from the community.

If you would like to track Truss and Teal more closely than the current release schedule, you can pull the code from the repository. Here’s how.

First, our svn repository is accessible ONLY by the svn+ssh method. Normal http style svn urls will not work at all. You will need to configure your svn client properly; the first step is to download our key If you are using PuTTY on Windows, download trusster-anon.ppk; if you’re using OpenSSH, download trusster-anon.key instead.

Next, put the key file in secure directory and chmod it 0400.

You’ll need to set the SVN_SSH environment variable for trusster as follows (for bash, other shells may be different):

# export SVN_SSH=”ssh -l trusster -i

And test it:
# $SVN_SSH trusster.com

Should produce the following output:
( success ( 1 2 ( ANONYMOUS EXTERNAL ) ( edit-pipeline svndiff1 absent-entries commit-revprops merge-info ) ) )

Hit Ctrl+D to close the tunnel.

That’s pretty much it, all that is left to do is checkout the code:

# svn co svn+ssh://trusster.com/teal/trunk
# svn co svn+ssh://trusster.com/truss/trunk

If you’d rather use PuTTY, create a session for trusster.com called trusster-anon. Configure it to use the trusster-anon.ppk key as the session key, using “trusster” as the “auto login username”. Make sure you save the session. Use the session name in the svn url like so:

svn+ssh://trusster-anon/teal/trunk

Tags: , , ,

New Release of SystemVerilog Teal and Truss

Hi,

This release supports the AXIOM simulator!!! This is a great news for both Trusster and Axiom. We’ll have more official news about this soon.

Also, this release of Teal and Truss fixes a few bugs namely:
- The truss_vout object was not shutting down cleanly.
- The truss_shutdown object did not handle null test/testbench/watchdog pointers gracefully.
- VCS changed their string passing scheme, so the truss script was updated.
- VCS added support for interfaces in packages, so the examples were changed.

Let us know at support <> trusster <> com if there are any issues.

Take Care,
Mike

Verification Framework article published over at SCD-source

While writing our two books, Mike and I frequently discussed not only the motivations for creating individual verification components but also how the should “look” for the end-user. Our discussion was always centered around usability for us verification engineers, so presenting a simple, clean code-interface was more important then simplifying the internals of Teal and Truss. (I’m not convinced all verification environment I’ve seen think that way…)

Mike and I was recently talking to Peggy Aycinena about Teal and Truss and it motivated Mike enough to put pen to paper (or is it key strokes to screen?) and write a couple of articles talking about why our code looks the way it does, one has now been published and the way, Mike also contributed a completely different recipe for success to Peggy!

As a result of this discussion, the first of two articles have recently been published over at SCD-source where Richard Goering works nowadays.

So to read more about why our code looks the way it does click over to SCD-Source. We would love to hear your comments afterwards!

Regards,

Robert

Powered by ScribeFire.

[Trusster Announcements] Experiences with Teal and Truss

Category: Trusster Announcements

Roles: authenticated user

Recipients: trusster_admin , admin_phpbb , robert , flyfishr64 , Mark Glasser , Rich McAndrew , schemer , trusster
, EdArthur , fzhou , ptk , Wayne Chang , tomloftus , pshum , htian , bglim , nemgreen , delphinus , embedded81 , maalsma , mdh , xldu , flipflop , kdgriffiths , chunyang , mirzani , anon730 , wimos , gpartha , Rajat Mitra , csg003 , gilzhaiek , mdoda , ajeetha , rsavarda , pdq , bagath , thriller_wu , yfann , jderoo , tonycosta , awiegand , rminnick , TimAbel , bdmagnuson , santosh , lokeshgupta , kklarer , JonKeeble , maxpark , archerh , andrejanto , BevanWeiss , thgold , kulkarni.saurabh , jingy0085 , hassan , avbhanda , KaJaCa , ccherich , miroandi , lreyes , carl_crawford , siveland , manikandan_pv , rohit_dhar , anis_ibrahim2001 , spacekim , meter9999 , ctai99 , ericflying , yqhu , barnwell , tyfz000 , shrekliu , shiv.emf , chirs , zengwen , bluewind1818 , supernofreedom , shenpeifu , xweikai , funzero , janson , ajit , caulk , jinhui96 , hover , garfee , pillarw , gbhust , nageswaran , jimmy_liu , psinghal , Vijayan Rajan , tpwang , raghavan , pshiue , luiguo , ericchen228 , tschang , zaox , ChihYuan , Claude Mythe , threecia , alexlai , Girisha , suceugene , riku , chihhao , michael.thompson , paperavi , sbarrett , haotseng , Marvin DeForest , xxx , daidaihou , qsoft-hoo , lj1008 , t8882121 , yfchen58 , quan228228 , yi119 , applevip , loris , hyena_dale , julianchiu , Luke Lee , sachin , abhik , wuliao311 , seafish , johntan , tomwang , kurbylee , harsha3 , fanjunxing1 , alphehe , mundravale , adityasa , singer , roadeer , timoliver , madhav , majunjun2000 , Bo-Hu Yuan , Maw-Ching Lin , jychen , zhaom , wingsiu , zyc1_1 , prinzbiju , amateur , socolab , leejg , maoyang , arcticzoo , abhishek , jakey , sea94 , x666666 , rhgu , tak , shaohao , harold , cpw , yqsun , huhongqing , manik , greg.pierce@amd.com , Sung bo An , bobCJY , ac , ootoop , umairsiddiqui , hubert.feng , shhkxw , lebits , joonwook , mklusman , samuvai , sqler , veena , maxwell , zjfu , sbennett , tomoh , scno , mosalem2003 , oswaldo , rick , draker , jeans , hamandu , janova , weishunyu , cjeong , dospark , vijayan_rajan , bluemint95 , talesara , wayne , fperron , sakhamuri063 , rajeshwar1074 , vicky9009 , sampath , d3jones , hooman2000 , jccho , ijpark , drake1337 , magicw , lgx8231 , rsim , mezhihuan , polus , gaojun , sxy17173ucdao , ruzn , dsprajapati , mpatil <92nmm36w2ndd1is@temporaryinbox.com>, bartum , colinzhang , thankseve , danielpoe , xbluewing , shrader_xu , openeyes , spiker , cm , onebit , mkimura , maestlo , chiang , ericbill , liuyajing , tbrkic , snk , yangyinchang , anozik , sczh01 , leicao , jamesqiao , melonpy , chengjieshen , dfoggy , dbgabriel , Guowu Yang , Ren , kelly , spklnraz , bryan.morris.peng , ray888 , r5880c , smonster , niuniu_1 , katherine , hhuang , xiyue_007 , sentura23 , lth , andyray , wangxpin , vasudev.kulkarni , judywp , stephen100 , songflee , stoneshi , vineetbhargava , lurb , curliph , liuyajing309 , kakeda takuto , greggurevich , doublebacks , bjkopp , toyman , jgilmour , LiangShihMing , hwma , mage1982 , stanley , dluong , prmnwoks , miya , Johnny Nou , SysTom , sreeramr , darylz , tariq , tjones , andykwok , malidina , bondarusk , sibuzu , neyi , chinaluoqi , shaoyufeng , bpreece , ofer affias , YHCHENG , handsomedu2002 , paddy3118 , peterpb , yjshi , siva008 , bgopalan , tttyant , rufeng , vparonov , rufeng70 , telemarkguru , richardbradley , aworcest , liuhao , volkan , thintsung , karthikesan , thatguypulkit , madala , arunvlsi , pauln , logan , sjswcurry , mostafa omar , ardanehri , raviram , roheet , lander83687 , dktala , freddy , roberto , pvasudevan , obiliset , ethome , hellvis , sbailey , rohan_bafna , mkorany , mmintz , zwen , mglasser , yjsu , jacktai , SUBODH V. GUPTE. , eawtan , lint , dhaval , maulik_h_shah , junw , systemverilog , Sidhesh Patel , SK , sureshraj , anupam singal , elfrink , maxcep , rajeshg , david_allan , ashokg , schnubbi_24 , Qiming , pvvijay , ted.wong , tscheps , phillide321 , Geoff , tushar.ringe , vitorino , jgreeneee , wwshaman , milosb55 , ting_qu , madhu , kelvinliao@hotmail.com , aravind , danGTS , timschneider , jay_zzx , hvonbank , roland_lee , dkimble , mikeslattery , bcgamache , jlivermore , ppark , gsheeraj , estrauch , dfechser , alain_loge , mikepet , paul.park , rhughestx , howardluu , rhekmann , cfgardiner , Hammer , mr_brown , michael yan , superohman , lktmisc , winux38 , akhalili , engine , amit_shaligram , amitshaligram , nene , Scott.wolf , mysystemsim , shalom , bosman , yf1yf1 , narikrish , subraa , pradeep , sasidhard , bks , yossi_ginzburg , thevil , kirloy , nandini , krzysiekk , mhuiskes , magnun , goodymj , ronak , rabbott , mlyngsie , martinli , chipmaster84 , techguysv , guenter , eejones , db_tang , nsheeley , ckamaraj , steigerwald , pvaclavik , dpeddy , frankbell , kadambi , jeff_pritchard , Mark Hashemi , rml , lionel
, schumack , haandradeb , dtalbot , J_Dave_Mejia , Doug Krening , burrows555 , wds , chewie54 , brianf , Elit , tinman , Stephen , alpeshchokshi , ajit_madhekar , zinn , dmo04433 , ashish , matuoka , flooby , edkyi0702 , blchen , sylvainb , ge777941 , mayan , Siva Sankar A , t_teodor , gg , parag123 , ranger123 , gollas , KimEuiSeok , naveen , jackfkmfkm , zhxuhuajun , anitha , t.anitha , zikor , lukedarnell , rax24 , gunasekaranr , Chuck.Oliveira , jimlewis , cccp , kusuhara , liujan , joshf , testuser , wlu , gabjones , sekigawa , pon3 , nmsivam , claint , tektron5 , RoxeLionni , igort , pranav , avirab , xihushui , mobo , icnova , nilesh_11 , jrp_jobsearch , dantonchu , Chunghoon Park , malharsire , jackchen_2004 , nanshan , Krc , kiiizuto , sandyst , iaiaia , akhailtash , nls , bjganj , babydance , myan , mberty , hotak321 , th1sc , cool , saitoh , tkowalczyk , bright46 , kiiizusev , nukalar , bigmooie , zahark , nogunogu , nafcad , jy_austin , lee_h_q , wilmott , icupitoi , bporcella , jstubban , eric.zhao , luoliuzhu , th2sc , passenger10 , mylife , jamliveee , rameshnr , tritu
, ngalamou , ideal1980 , gortnacory , dmwill , rajiv agrawa , dmdgrabowski , farhankhan , farhan_bit , jbloom , jrriddley , daveg , dheller , tina , venkatacrc , liz , amarsantpur , stubey , ray123 , swansoncw , doseki , kgopikrishna , jbk4311 , pstelian , Figge , tghamby , fp4fm , WillemGruter , prabhug , Kenyasin , ambar , fitch , serduchkaverka , dummy , dummyusr , syst3m101 , yo5454 , vizpal , cyriljean , fogh , peshi , qdrewirtsc , brice , antonio_vilela , vivek , sam_kishore , aigle , jsandoval62 , sivabharathula , garygao23 , nanako , filetemp , chandrav , hirakawa , pavel , kevins , daveread4 , tluong , pjcalabrese , ramesh , shinningstar , calmqing , andyp , verif_eng , larabell , ashishshukla , xdlee , dundod , babyworm , cyril , ecanders , vivek_bhat , craigmcadam , sujith , kaitharam , vasantha_srirambhatla , Seema , xyz , jmanzella , jamo64 , kenmatthews , pangulurisrinu , jvkkkhs , ywchoi , mboini , nano , pnblabh , raja1982y , caldwell , JustMe , shashib , harinath , mattli , LOgWvrEDipCNMv , Peter , jbwaite , ZuAUxj , DOhan Kim , witlox , stefan , bortycuz , agodard , peppermint , FTvJsO , jagannadh , maja , BmLfj_AcvrOZWlI , MERKkN , NciuHc , kuchlous , Jacky Lee , sampsont , ajay , akuchlous , ardencaple , RvwWHl , PMJKqn , telantan , cUzAdb_fE , manu , krzysztofk , polszewski , jennylee , ankitks , doseon , jana , lllvEvUA , madhusudank , avidan_e , Tak.Sugawara , bostonwolfe , fqiao , roquealex , bashingmyhead , prashantr , MNArDnd_UiY , rmoss , albert , bobnorton , rashid , xYiYVn , sfojames , MmlFUlqwM_ , chadr
, BgHhumLz , mitsubishi , dweOKqVrhIsuK , nQWFFc , hmphuong , loias , FgYwKa , GlbmVd , sarathg27 , elisa , jojipg , mrunyan
, Michal , JeTogm , nickiepavlov , primeuser5 , rsenkadir , adielkhan , stephenhobbs , galaviel , georg_H , chanar , meenz , karlapeterson83 , dgross , vinuvn , rathorebharat , rmalerbi , Swope , amitk_98 , ZrtosXYl , lsuooGkcgHmr , ajax10g , fsword73 , Amos , cadence_1978 , cadence_1977 , actondv , GordonW , marekn , swapsap1 , agrajame , aleksmoreno , mnorcross , camsoft , HLykjCTugErSC_ , billtexas , chenib , gerry , hent , Yaseen , okfsfs , grahamc , gcmytruss , rBleYl , zoFwsZhWjzDJK , yuga , gokulavasan , user13 , Escorial , Eugene , PncFMl , taeyang , zebra , nambi , youngsun , dgOpsqMJ , NLOHFH , tippars , ZNrKKA , bishopsl , qZdHEBsZBqIDF , b1g4ath3 , steven852 , rinkesh , BritneyloverII , gnil , sinwave , ahmed shalaby , Assuccegehefs , CdmflavFN , IRUWmOnEYVwZ , andyzou , zoutq , gMqKksJKyQ , hendy , gfbvbxv , sukumar , Fuk_Qjbq , hMQjcHflCuz , keithchan , KwwLXRECBTtR , htetphoe , XTspEPboicAY , mreber11 , togle , BGsrVHKeZWNhfLR , rskog , aicaza , ZOYGDTss_HcPoxoa , aspirinuskjhsfdv , arustagi , pjvkzdvWg , NCcqsvKtThDzD , czySev_CNGrfF , holditch , fizoro , _FXlCrViaV , cxhzIo , mirzani77 , rvoSUTnJMoOaih , holditch1 , hnatarajan , bruticus , fEtnVyoM , laosan , EFsyzeUI , ClKlbLQxOKzEnGyy , daffy , jyaQNUuaqd , JsnbskesrJb , pramsing , SLKvXx , lois32 , RobWaterworth , _JZlV_BjwBOR , gladysfields , pnmMbrjF , bparsons , yHDmIUMnFxfGrp , Sridhar , uhcdGtnijQpQvJ , shinde , shinde1 , dehanpelar , OgdQnCrEAzYShxYM , lmidas , geoffhall , dqJxzeoTHgBto , HTjWUdjtdYWH , Neo8 , lceqoq , qrXgxBQNkDkxbkL , varba260 , vVgIgycPQFOBLEhK , freelion , klswp95 , thoko , vADGRdrEX , elouveau , ZYoCqj , qrzhkxSsQmrYEjH , ymMAnpZWAdy , mccardle , karl , kaiver , iVFeysWGX , kevinhy , RLSkmcARd , lipmin , confuzzled , jAFjl_cCugPYs , walker , bot_cyka , ezYAtuUbHmMYxS , xuzheng , hnbnv278 , EaZUCglSNKnCiiIX , rocker , vcvcv258 , VIhXetyqytMgSI , ogZBwjqJkdb , AExMpqinKmMxOu , satyapsg , mortgagevladim , tIWXYkDVzlxQCKM , yusuke6453 , IXUBLbvpVCIbGWF , gsvTorkelton9197 , meanb00 , TkIsfsWwyhRHGRm , GrwVAN , ozysoul , VgngRcauaaFh , amir , changyong_y , vsbaisane , xwKdLUur_cykl , hanibian , ZyDavV_NkSYEJ_Q , ozDRpc , nitinj , hirano , tuan_eda@yahoo.com , homiedclown , edgar3rd , masao , ethan.dang , tm , hanbink , hanbinkim , Addigeori , sarika_varshney , Nikolay , subbu7 , Illarion11 , VincentoJr , euikwon lee , Imagrit , netiger , cycler , claonaite , mirafo , mmdv , JosephAmolschNoProblem , vmalik , pangcy , churky75 , jcashman , ramesh-eve-usa.com , sergio , alannhunter , dkoogler , jvilla , Peencedup , sayreportelance , MainDadyFirst , casey.marshall , gluckmeea , scepan , han831 , moogyd , lEZNWeGc , surfernick , BAO_gtNUuxvEKYjJ , meJYBRCxJDLH , sparrow-ship , maruvatan , eBjOQdhyyMfJVwro , zIGJDviTsz , Zinaida , eLTqLOkNEX , Konstantin , riIcrBicoRzm , elmar , explorer , kalyan rao , nqJsBagmWa , sram78 , VSYDgWGE_ , Piter , PbXeGUHf , Boris , arieslcd , rexor , firewire2035 , sOkbynTribPorR , lalasusu999 , iDQVZOoNwIPEmyY , jimjones@dontreg.com , dwLckaaIEsRgLZPn , ITcN_NeEWPPv , lopa , kskang , sergio_bruzzone , nonoTinny , hrt_OzOkEl , batu , DevKFvNm , l_mYOkAldshQuF , eTwqgQegPG , rajkumar , nagorski , jsoolee3 , bmurugan , jeffery_dong , NFaSBVeEQmUv , t-teodor , pEtAPgNzYENQB , raitacokkl , ZPoTEhIyYwXyx , helderfern , zhangwx , thang , jfox , beyond , jason.curry , gtag , laghriss , nels , ytkim1 , chrp9 , ultrasparc , khuang645 , iclinux , swhisenh

mike sent out a mass e-mail from http://www.trusster.com/.

Hi,

Here is a post on comp.lang.verilog where a person asks for users of
Teal/Truss, in C++ or SystemVerilog to speak up.

If you are, or know of, companies using teal/truss, please post a reply !

Heck even if you have comments good or bad about teal/truss, go ahead and
make them public.

Thanks,
Mike

http://groups.google.com/group/comp.lang.verilog/browse_thread/thread/d8013535c5725eca?hl=en

Experiences with Teal and Truss

Hi,

Here is a post on comp.lang.verilog where a person asks for users of Teal/Truss, in C++ or SystemVerilog to speak up.

If you are, or know of, companies using teal/truss, please post a reply !

Heck even if you have comments good or bad about teal/truss, go ahead and make them public.

Thanks,
Mike

http://groups.google.com/group/comp.lang.verilog/browse_thread/thread/d8013535c5725eca?hl=en

Modelsim only support 2 call stack for automatic task?

Hi everybody,

I am now studying system verilog. Many thanks to Mike and Rober for their open and sharing!

I am using modelsim 6.2C to perform the simulation. But it seems that
Modelsim only support 2 call stack for automatic task. If it calls its self third time, the stack address of the third call will be the same to the second call. So when the third call returns, modelsim runs deadly.

:-(

Use of OOP to eliminate need to compile C++ simulation

I would appreciate your comments on a different approach to hardware simulation.

My examples are coded in C# (an OOP that is like a fraternal twin to C++). C# Express 2005 is a free download from Microsoft and is easy to learn. I also have a C++ version, but have not used as much OOP.

I think the interesting notion here is that the simulator/hardware can run on a thread with verification on another — everything in OOP C++.

I am an old retired hardware guy self taught in C++ so I’m not up to speed with some of your lingo.
Hardware design and simulation are still in my blood.

First, the simulator does not use a programming language that has to be learned and compiled. Instead it is a collection of facilities ( flip-flops, registers, arrays, etc) that have Boolean/arithmetic statements describing their controls and inputs. The input phase assigns an ID# to each, the statements are parsed and a stack is created so the statements can be interpretatively evaluated at runtime.

At runtime objects are created and put in arrays or lists that are accessed by index or iterators.

Clocking is a C1/C2 scheme where C1 time determines the facility state that will be assigned at C2 time. Multiple clocks are allowed so that asynchronous, edge triggered, latch operations are permitted.

Functional delays (delay lines, long cables, etc) can be used.

Circuit delays are not used. Instead static timing analysis would be used to identify long paths that would determine cycle time. After all, placement in physical design will have major timing effects anyway.

The porting and wiring is implicit in the input statements so that back tracing the input can produce a net list or whatever is needed for synthesis. (Hypothesis)

The level of abstraction is a matter of the operators used in the statements. +, -, *, /, etc can be used at the system level, then later reduced to and/or/not operations..

There are C++ (Express and MFC) and C# versions implemenmted so that a driver could be added to generate inputs and verify outputs.

I do have running programs and several testcases available. ( Think I can upload them to a Web page for download or else post them as file attachments) The program is small and quick. It does need a simple GUI front end to isolate the user from syntax details.

I hope not to have wasted too much of your time, and welcome questions.

Thankyou, Karl Stevens

Book excerpt on Teal and Truss available!

Hardware Verification with C++ Book Cover Hardware Verification with SystemVerilog Book CoverWe’re happy announce that the teal and truss section of both our C++ and SystemVerilog books are on the downloads page!

Apart from providing a preview of our style, they also provide documentation for our open-source libraries.

So to get a feel for what our books are like and to find out more details about our verification libraries teal and truss, and what “the dance” is all about, simply download either the C++ or SystemVerilog sections from our downloads page.

You can also access the chapters for teal and truss for C++ by following this link, or if you are interested in SystemVerilog follow this link.

So if these section are free, what else are in the books? Well, the section dealing with teal and truss is less then a 1/4 of the books. Most of the books could care less about our verification libraries but instead talk about how to best apply Object Oriented Programming (OOP) to Verification. We provide many code examples as well as lessons learned with the hope that you can avoid some of the pit-falls we encountered.

In fact, both our C++ and SystemVerilog verification books share the same format and are divided into four parts. The chapters provided for download are the second part of the book. In case you are curious, the four parts are:

  • Part one provides and overview of Object Oriented Programming (OOP) concepts and conceptually looks at how a high level white-board block-diagram drawing can be turned into classes and code, as well as a short history of how verification has developed.
  • Part two describes our open source verification libraries. We talk about our verification libraries in the books to show what a real, professional verification system looks like. Our hope is that people will find our libraries and ideas useful and adapt (parts of) them, or at least serve as inspiration or contrast too their actual environments. A lot of experience and industry best-practice ideas has gone into creating these libraries.
  • Part three shows how to use OOP for Verification. It’s full of lessons learned, tips-and-tricks from years of experience using OOP in both HW verification and SW development fields and multitude of projects.
  • Part four provides several complete verification environment examples too give the reader a sense for what an OOP verification environment looks like put together. As we provide the complete environment (including run scripts) we hope people can find useful code and ideas from them.

Happy reading!