What Would Joe Do?
Peggy Aycinena is a freelance journalist and Editor of EDA Confidential at www.aycinena.com. She can be reached at peggy at aycinena dot com.
Agnisys: Automating spec checking
March 18th, 2014 by Peggy Aycinena
Agnisys exhibited at DVCon several weeks ago in Silicon Valley, but within the time constraints of the show I didn’t have a chance to talk with them. Fortunately, that was remedied at 9 am this morning – 9:30 pm in Noida – during a phone call with company CEO Anupam Bakshi, who was visiting his team in India at the time of our conversation.
Prior to his involvement with Agnisys, Bakshi served at Avid Technology, PictureTel, Blackstone Consulting Group, Cadence, and Gateway Design Automation.
WWJD – Let’s start with the elevator pitch. In 25 words or less, when did the company start and what do you do?
Bakshi – We started 6 or 7 years ago and are Massachusetts-based, although a lot of our development is done in Noida. Our products, called IDesignSpec, focus on the area that the big EDA companies don’t, providing an executable specification tool for chip design.
WWJD – Define an executable specification.
Bakshi – It’s basically a document that describe the functional specs for the hardware.
WWJD – And what does that functional document currently look like?
Bakshi – It looks like a normal Word or OpenOffice doc, plain vanilla without any linkage to reality. Currently, all of the conversion process taking those specs into code happens manually, so what we bring to the table is the automatic conversion of that spec document to code.
WWJD – So how does that work, without revealing your secret sauce.
Bakshi – There is no secret sauce here – it’s patented. We have 3 patents, in fact, so we have revealed all. [Laughing] Basically, what we do is create a tool bar in Word, which allows you to create your spec in a more structured form. Then we can pick up that structured information and convert it into code.
WWJD – Is it like using one of the standard templates provided in Word or LibreOffice, which I actually use?
Bakshi – Yes, but it’s more like a micro-template. You click on the button on the IDesignSpec tool bar, and all those micro templates are dropped into your document. Then you click on other IDesignSpec buttons to do the checking and to generate the code.
WWJD – So basically, your tool bar creates handles or tags within the document the facilitates the conversion to code?
Bakshi – Right. We provide a way of putting a structure into that information, and then we’re picking that up and converting it to XML underneath, and then converting it to an output format.
WWJD – And what format is that?
Bakshi – The format could be anything from design, like RTL synthesizable code, or it could be verification code, UVM models, or it could be software, C code, or other forms of documentation, IP-XACT or SystemRDL.
Or users can create their own output format – customers do that all the time. We provide a TCL interface to Word, which gives you access to your structured data so you can create your own output format.
WWJD – Why haven’t the big design house created a tool like this for themselves? It seems like, for all the money spent in-house trying to optimize their design flows they would throw some resources at automating this part of the process.
Bakshi – It’s important to note here that we’re not converting everything from a functional specification. We do cover sequences and registers, but we’re not covering datapath design, fsm etc. That capability is currently in research and development. Nonetheless, we believe using our tool, you can cut down the time by 30 percent.
WWJD – Time for what?
Bakshi – The time needed to create your IP or your FPGA or your ASIC. The stuff we do, the code we generate, cuts down the time by 30 percent.
WWJD – Again, it’s not clear why the big companies don’t develop this capability in-house.
Bakshi – They are doing something like this, but why they haven’t come up with the [feature set] we offer – you need to ask them. We are the first do to something like this.
WWJD – What are your specific patents?
Bakshi – They include the fact that you can create these micro-templates, capture the structured data and generate the output. Plus, the fact that our tools back-annotate into the same document, including some error checking – overlapping fields, same name registers, or access-types not compatible, as well as other downstream issues that benefit from error checking up front.
WWJD – Is this stuff really novel? Isn’t it classic stuff from the software world?
Bakshi – Yes, but software checking doesn’t show up until much later in the design flow. Here at the level of the Word doc, you’re creating the spec, and the spec is checking with our checker right there – right there from the Word document itself. Catching errors up front is important, but having a spec’ing tool that checks for errors and creates correct-by-construction code is novel.
Our patent is related to all of this, including the template and back annotation.
WWJD – Okay, circling back to the basic info on the company – how many employees and what’s the exit strategy?
Bakshi – We have 15 employees, and as far as an exit strategy – we’re enjoying what we’re doing. We’re having fun, growing, and seriously want to do more of these specification tools. No one else is looking at these things right now.
WWJD – Who on the design team is using your tools? Who are your target customers?
Bakshi – The architects or high-level designers. We’ve been in the industry for 6 years, so we’ve had a lot of customers from various domains. Our target customers include ASIC, FPGA, IP companies and service providers, and industry verticals including aerospace and defense, medical, film broadcast and image equipment, computer hardware, scientific instruments, and life sciences. Our tools can be useful to anyone who uses design data.
WWJD – Including MEs, or aviation engineers, or civil engineers?
Bakshi – No, we’re targeting hardware designers, verification engineers, firmware developers, technical editors, and the lab diagnostics used for IP or FPGA or ASIC prototyping in the lab.
WWJD – I have started a series of blogs called Node2Node that deal with how companies deal with the march down from one technology node to the next. Could I know by looking at the your annotated spec document if there’s a potential mis-match between my design and the process technology I’m targeting for manufacturing?
Bakshi – We’re creating stuff that’s correct-by-construction, so there’s no need for error checking downstream. However, that wouldn’t include checking to see if you’re targeting the wrong technology node. What we generate is correct-by-construction, and if there is any changes required based on the selected process node, the appropriate code will be generated automatically, so no mis-match needs to be flagged.
WWJD – With regards to security, how can I trust that your tool doesn’t include spyware that would allow a competitor to get access to my early architectural specs and beat me to market with the product?
Bakshi – We have military contractors as customers, so you can be assured there is no spyware.
WWJD – With all due respect, here in the age of the NSA, that’s not really a guarantee.
Bakshi – Look, you’re not going to sell to the military establishment if you can’t guarantee that the software doesn’t have any embedded spyware. Those guys go through a rigorous procedure of inspection before they buy off-the-shelf. If we’ve passed their scrutiny, then you should trust us.
WWJD – Do your commercial customers do a similar type of vetting as your military customers?
Bakshi – Yes, they do.
WWJD – Who are your customers?
Bakshi – We’ve got a list of them on our website, www.agnisys.com.
WWJD – Maybe name the top 5 or 6?
Bakshi – They include NASA, CERN in Switzerland, Raytheon, Mercury Computers, Amazon, Microsoft.
WWJD – I missed talking with your guys at DVCon. What were you announcing there, and given the nature of your customers, why were you at that particular conference?
Bakshi – We were there to see what others are doing in UVM and SystemC. We were also there to show off the soft launch of our newest tool. It’s called ‘Mystic Tool’ and is going to be like an early warning system for design and verification.
Currently, we’re working on something we plan to launch at DAC, so we were also at DVCon to test the waters and see if the industry liked it, and they did. They gave us some feedback and we’re going to incorporate that into the tool. It helped to have contact at DVCon with people who would be our target customers.
WWJD – What language do your developers use?
WWJD – Finally, how is it that you’re based in Massachusetts?
Bakshi – [Laughing] Because that’s where I have lived for 15 or 20 years!