Specmaniacs everywhere should be aware of a great, full-featured integrated development environment (IDE) available for e language coding from long time Verification Alliance partner AMIQ. In today's post, Team Specman invites the founder of AMIQ, Cristian Amitroaie, to tell us about this tool, and how it's different from the many other editor choices out there. (FYI: AMIQ will also be showing DVT at the CDNLive Munich "Designer Expo" this May 18-20)
Team Specman (TSN): Tell us a little bit about yourself, and your company AMIQ.Cristian Amitroaie (CA): My career began in earnest when I discovered functional verification. I was the first engineer in Romania who took a Specman training course. Afterwards I trained tens of engineers, led and supervised the development of verification IPs, got into eVC verification (the “verification of verification”!), and even worked in pure software verification. All of the above was done using Specman with a coverage driven methodology.
During this time, I met Stefan Birman, a very gifted team leader and teacher with lots of passion for verification; and Adrian Simionescu, a perfectionist designer of frustratingly bug free DUTs. Together we founded AMIQ in 2003, where we have brought together a group of 25 talented and passionate consulting engineers. AMIQ is a provider of the DVT IDE tool we are going to talk about in a second, as well as ASIC functional verification services.
TSN: What inspired you to create the DVT IDE?CA: We regularly use Java or C++ in various projects, and we discovered the Java IDE built on top of Eclipse (JDT) and loved it. Almost instantly we desired something similar for our e language eVC and testbench development. We would happily spend some bucks for such tools, but none was out there and so the Design Verification Tools (DVT) plug-in set for Eclipse was born in 2005: first EDT (for e), followed by VlogDT (for SystemVerilog).
Specmaniacs take note: until you taste one of these IDEs you don't know what you are missing. And once you taste it, you will be addicted. They simply allow you to get past annoying tasks and focus on new code development, or quickly understand an existing environment thrown over-the-wall at you. For example, with the DVT IDE, in order to find out where a method is defined or who calls it is just a click away, and not in a list of 100 grep matches which you have to further manually filter, and by the time you are done you probably forgot where you started from (or even what you were actually looking for) in the first place.TSN: What makes DVT different from the other editor programs in the world?CA: First, DVT provides a set of features unmatched by other editors. To mention just a few: hyperlinks to navigate through code, context sensitive auto-complete, errors signaled as you type, semantic search, class hierarchy and extensions browsing, in-line documentation, task tracking, code templates, integration with 3rd parties, and recently, methodology compliance review.
Second, all AMIQ verification consultants use DVT. Our own needs for verification drive the development with every day use-cases. In a way the development is done from inside the verification world and we receive user’s feedback with a user mindset.
And third, since DVT is a plug-in on top of Eclipse, we inherit a lot from the ease-of-use in the platform. The Eclipse platform is used by tens of thousands of engineers in the world, programming with Java, C++, Perl, Ruby and of course e and SystemVerilog. Best practices are collected into the core of the platform and reused by plug-ins on top of it. More then that, thousands of plug-ins are developed for different tasks. Typically verification engineers use Clearcase, CVS, Subversion, Perl or Bugzilla plug-ins. All these plug-ins are developed independently and they smoothly integrate into Eclipse, making it a familiar workbench for using many inter-operable tools.TSN: Can users extend and/or customize DVT to enforce their company's coding guidelines?CA: Absolutely! For starters, DVT users can customize things like the naming convention checks according to the project or company’s guidelines. Same holds true for compliance review and for the library of code templates and even whole project templates. Taking a step back, customization is one of the features we always support and improve based on user feedback, but we are also strong believers in good defaults, as we aim for minimal user effort in tuning the tool.TSN: What HDL languages does DVT support, and does DVT support multi-languageenvironments?CA: DVT supports the e Language and SystemVerilog. The support for a multi-language environment today is an aggregation of e and SystemVerilog features, and as demand grows we will put more and more focus on the “inter-language” capabilities.TSN: You hear a lot about Eclipse these days -- why did you select it to create DVT? After this experience, would you recommend it to others?CA: As I already mentioned, we liked JDT, and Eclipse seemed open enough providing examples for us to experiment with. From a developer perspective, the initial effort in understanding the Eclipse concepts and patterns is quite high, but after a while things start to converge. In general, Eclipse is a friendly and robust platform, though from time-to-time you hit limitations and it takes time to workaround them. The best thing is that Eclipse is an open evolving platform which improves constantly, and many times inspires DVT development. And among Eclipse contributors you find names like IBM, Nokia, Motorola, ARM, CISCO, Ericsson, HP, Intel, NEC, Siemens etc., so AMIQ is in good company in leveraging this platform.TSN: In general, what were the challenges in creating DVT?CA: Besides understanding the Eclipse platform, building the DVT engines from scratch was the main challenge. We started with in-house e and SystemVerilog parsers (none was available commercially at that time). Another important constant challenge is our regression, after all we are a verification rooted company.TSN: How can people learn more about DVT?CA: Try it! You can email firstname.lastname@example.org and ask for an evaluation license. We provide such licenses in a prompt manner, and with a duration long enough for one to really put DVT to the test with real coding work. Of course, feel free to explore www.dvteclipse.com where you'll find use cases, snapshots and the complete manuals on-line.TSN: Finally, how do I purchase DVT, how much does it cost, is there a site license option available?CA: List price for one license costs 450 Euro/user/year, with some variation depending on nodelocked/floating license options. We also do quantity discounts starting with tens of licenses. Just mail email@example.com for quotes and purchasing details. We also provide free, full featured licenses for academic use.TSN: Wait – one more question – can Team Specman post a demo of DVT in action?CA: Sure – I just need to create one first! ;-)TSN: No problem – we’ll be happy to post it when it’s ready. Thanks for your time today!CA: You’re welcome – and thanks to Team Specman and the Specmaniac audience for listening!
P.S. from Team Specman:Do you have an e language-related product, utility, plug-in, or shareware you would like to promote? If so, please contact Team Specman offline and we’ll work with you to introduce and discuss it via this blog.
Happy Coding!Team Specman