Canadian startup Invionics has launched a development environment and packager intended to make it easier for users within chipmakers and design houses to build customized tools.
Brad Quinton, CEO and co-founder of Invionics, said: "We’re a pretty experienced team. We founded another company together called Veridae that focused on test automation, that was acquired by Tektronix before being sold to Mentor."
The team members decided to break away and create a new startup, settling on custom tooling as an underserved area.
"We have all been in the trenches designing ICs. We have a user’s point of view and understand that IC companies want to gain proprietary advantage through custom tools and flows," Quinton said.
"Often people identify problems with the flow. Then people specify something like a custom tool. We have this platform where you can really quickly develop a solution and get it back into the community."
Although companies such as Concept Engineering and Verific already provide libraries and toolkits for custom EDA software, Quinton claimed: "Ours is much more high level. We deliver a platform that makes it easier to create high quality tools. You can get your ideas to applications in weeks and months rather than years.
"We actually licence Veridic under the hood: it's the second time we have used Verific," Quinton added.
Whereas a library such as Verific's provides language-parsing support through C++, Invionics has taken the approach of making common EDA tasks available through the Python and Tcl scripting languages.
"Python is a nice place to develop now. You don’t have to worry about pointers and stuff like that. But at the same it’s very powerful," Quinton said.
On top of Python, the Invionics environment provides functions to probe HDL code or net list. "You can, for example find all the pins of a certain type or find the signals connected to a port."
"To that we bring a custom GUI builder and a set of graphical widgets and elements that CAD tools tend to have," Quinton said.
The remaining part of Invio is a packaging application. "Python is a scripting language. If you don’t have a packaging app you have the danger that users can start changing your code. They would write Python and send that and then the designer changes it. This creates a single executable file."
Invionics has chosen to focus on pre-layout formats for the moment at least: HDL, netlist, SDC, and IP-XACT. Quinton said typical uses are inserting BIST modules, making sure modules conform to corporate standards, and performing top-level assembly.
"People want customised SoC assembly because people have proprietary things in their design flows and styles: security, reset structure, fuses. All those different things. Rather than fighting with tools that aren’t quite ready they can build things the way they want internally and wire it up automatically," Quinton claimed. "Among our first handful of customers, projects have been compiled in three to twelve weeks."
One of the demos shown by the company uses seven lines of Python to alter the reset style for all the flip-flops within a design.
Another popular use is as an adjunct to functional verification.
"When I look at the current customer base about half are doing things with their testbench code. In general people are saying that there is bunch of information generated that they need to use elsewhere.
The verification environment can, for example, provide useful data on power usage. "What are all the different power modes that are possible. Verification people have to figure that out but it is good for other people to find out what is possible," Quinton said.
Licensing is on a per-company basis and depend on the organization's size. "It's a fixed cost. You build whatever apps you want and distribute them internally to your organisation without any licence blockers."