| 4 min read

Agnisys makes Design Verification process extremely efficient!

Agnisys Inc. was established in 2007 in Massachusetts, USA, with a mission to deliver innovative automation to the semiconductor industry. The company offers affordable VLSI design and verification tools for SoCs, FPGAs, and IPs that make the design verification process extremely efficient.
 
Agnisys_Caveman-300x300
 
Agnisys’ IDesignSpec is an award-winning engineering tool that allows an IP, chip, or system designer to create the register map specification once and automatically generate all possible views from it. Various outputs are possible, such as UVM, OVM, RALF, SystemRDL, IP-XACT, etc. User-defined outputs can be created using Tcl or XSLT scripts. IDesignSpec’s patented technology improves engineers’ productivity and design quality. The The IDesignSpec automates the creation of registers and sequences guaranteeing higher quality and consistent results across hardware and software teams. As your ASIC or FPGA design specification changes, IDesignSpec automatically adjusts your design and verification code, keeping the critical integration milestones of your design engineering projects synchronized. Register Register verification and sequences consume up to 40 percent of project time or more when errors are the source of re-spins of SoC silicon or an increase in the number of FPGA builds. IDesignSpec family of products is available in various flavors such as IDSWord, IDSExcel, IDSOO, and IDSBatch.
 

IDesignSpec is more than a tool for creating register models!

Anupam Bakshi, founder, CEO, and chairman, of Agnisys, said: “IDesignSpec is more than a tool for creating register models. It is now a complete Executable Design Specification tool. The underlying theme is always to capture the specification in an executable form and generate as much code in the output as possible. “The latest additions in the IDesignSpec are Constraints, Coverage, Interrupts, Sequences, Assertions, Multiple Bus Domains, Special Registers, and Parameterization of outputs. “IDesignSpec offers a simple and intuitive way to specify constraints. These constraints, specified by the user, are used to capture the design intent. This design intent is transformed into code for design, verification, and software. Functional Coverage models can be automatically generated from the spec so that once again the intent is captured and converted into appropriate coverage models,” added Bakshi.
 
The add-on function for capturing sequences empowers the user to capture diverse programming sequences in the spec, translating them into C++ and UVM sequences, respectively. Further, the interrupt registers can now be identified by the user and appropriate RTL can be generated from the spec. Both edge-sensitive and level interrupts can be handled and interrupts from various blocks can be stacked.
 
The high-level constraint specification can automatically generate assertions. You can create these assertions in the RTL or external files and optionally bind them to the RTL. Unit-level assertions are good for SoC level verification and debugging, and help the user identify issues deep down in the simulation hierarchy.
 
The user can now identify one or more bus domains associated with Registers and Blocks, and generate appropriate code from it. Special Registers such as shadow registers and register aliasing are also automatically generated.
Finally, all of the outputs such as RTL, UVM, etc., can be parameterized now, so that a single master specification can be used to create outputs that can be parameterized at the elaboration time.
 

How is IDesignSpec working as chip-level assertion-based verification?

Bakshi said: “It isn’t an assertion tool! The only assertion that we automatically generate is from the constraints that the user specifies. The user does not need to specify the assertions. We transform the constraints into assertions.”Automating the creation of registers and sequences
 
How does the IDesignSpec automate the creation of registers and sequences across hardware and software teams?
Bakshi said: “The IDesignSpec uses templates to capture the data and additional properties from the user. These templates are smart, in the sense that they are content-aware. If the user makes a mistake in the specification, the templates catch that and notify the user. This ensures that the user does not produce bad outputs. This feature has single-handedly avoided numerous bugs from creeping into the design.” There are about 100 checks that are made on the specification document. Changes to the spec can be numerous and unordered, and yet, IDesignSpec can always produce consistent outputs. The checks are not just for the front-end design, but also for all the outputs that will be produced from the spec. IDesignSpec supports the conversion of the spec into usable code for any of its supported outputs or Tcl-based user outputs. It transforms register data into various outputs representing the spec in the target domain, including synthesizable Verilog, VHDL, register models for verification (UVM, OVM, eRM, VMM), C/C++ code for firmware, and standards like IP-XACT, SystemRDL. Additionally, it provides documentation outputs such as HTML, XML, etc. Sequence data is transformed into UVM and Firmware Sequences that can be used by the verification and device driver teams, respectively. IDesignSpec helps in assertions in logic verification in the sense that the assertions are created automatically from the constraints. IDesignSpec also brings an innovative approach to capturing hardware control and status registers. The innovation is in the way the data is captured in an intuitive Word or Excel editor. Agnisys has two patents for the same. “The fact that no separate GUI is used means that a user does not need to learn a new GUI. The user is free to add additional information about the registers. Normally, the registers form a chapter in the functional spec. IDesignSpec enables the users to add that chapter in an executable form,” he added.
 

Enter spec and register information in a single ‘live’ document

IDesignSpec is claimed to be the ‘only tool that enables users to enter both, the specification and the register information in a single ‘live’ document.’ Elaborating, Bakshi said: “Yes, it is the only tool in the world to use MS Word in this manner. A user enters the register data and its associated properties in Word (or Excel) and the data is indistinguishable from the regular information in the spec. Other tools require the users to click numerous times and enter the same data repeatedly. In IDesignSpec, users can effortlessly and intuitively cut, copy, and paste data as they would in a normal editor. The functional specification document rightly embeds register and sequence data. Other tools require that this data is kept in some file or database external to the functional spec. In IDesignSpec, a “single source” is maintained for all related data. The user can enter images, tables, and similar artifacts to be clear in the intent. Often, the intent is not clear in the spec. With IDesignSpec, the register and sequence data are specified in an unambiguous form which leads to virtually zero defects in creating the spec, he added.
 
Presence at DAC 2013 Agnisys is partnering with all of the major EDA vendors. It is a Synopsys In-Sync partner, a Cadence Connections partner, and in Mentor Graphics’ Questa Vanguard program. A list of Agnisys’ customers includes folks such as Allegro Microsystems, Compound Photonics, Conexant, Discretix Technologies, Icron, INPHI, Intrinsix, ITT/Exelis, John Deere, Lab126, Lieca, Mentor France, Mercury Computers, Microsoft, NASA, Raytheon, SEAKR, Stec Inc., Violin Memory Inc., Volcano, Wipro and Xingtera. Agnisys is participating at the forthcoming Design Automation Conference (DAC) 2013, booth #1543, to be held June 2-6 2013, in Austin, Texas, USA. Stop by its booth to collect Agnisys’ DAC special – a full feature, a free copy of IDesignSpec and IVerifySpec, and a couple of goodies for existing and potential customers.
ic designer's guide to automating design through implementation of semiconductors