Baya- AI Enabled SoC Intgration Platform, IP-XACT 1685, UPF, Verilog and VHDL Parsers, Translators & Converters, Datamodel and Re-Writers
SoC Integration
Other Utils
Run Online(free)
View Demo
Contact Us

Baya - Auto Integration of SoC Components with IP-XACT & Tcl API
FAQ - Frequently Asked Questions
​1. Is it free ? What's pricing model for EDAUtils tools ?

    EDAUtils had started as collection of free utilities. Please contact for your use model.

2. Howto create setup in Unix

     setenv EDAUTILS_ROOT /home/user1/tooldir/DesignPlayer-linux.x86/01MAY2014 ( Put your installation directory )
     set path = ( $EDAUTILS_ROOT/bin $path )

     Also, watch the online demo here.

3. Howto create setup in Windows

     In the DOS Shell Terminal
     set EDAUTILS_ROOT=D:\installations\DesignPlayer-win32.x86_64\01MAY2014 ( Put your installation directory )
     set PATH="%path%;%EDAUTILS_ROOT%\bin"

     Also, watch the online demo here.

4. I am getting Out Of Memory

For Windows, try the below command in the Terminal ( i.e. DOS shell ) and then run the tool as usual.
  ( Make sure that nothing is given after the = )

For Unix/Linux , try the commands 
   unsetenv JAVA_FLAGS 
   setenv JAVA_FLAGS ""

Other Alternative(s)  
   Out of memory error may when you try to run an utility and the message could be like-
    "Error occurred during initialization of VM 
     Could not reserve enough space for object heap 
     Could not create the Java virtual machine."

If you get an error message as above then open up the setup_env.* file( which you source to setup the edautils environment ) and reduce the value of the variable MAXMEM there. This should resolve your problem. Alternatively, execute below C-Shell commands or their equivalent before invoking the utility. Decrease the value of MAXMEM further if the out of memory continues.

setenv MAXMEM 1024
setenv JAVA_FLAGS " -ms5m -Xmx${MAXMEM}m "

If the out-of-memory exception occurs in the middle of the execution then increase the value of MAXMEM in the setup_env.* file and then re-run that tool/utility in a 64 bit machine. This should resolve your problem. Alternatively, execute below C-Shell commands or their equivalent before invoking the utility. Increase the value of MAXMEM further if the out of memory continues.

setenv MAXMEM 6144
setenv JAVA_FLAGS " -ms5m -Xmx${MAXMEM}m "

If you get error as below then make sure your have installed Java JRE 1.7.x (example 1.7.0u80 ). FYI- many users faced this error because they had Java by default 1.8.x ( e.g. 1.8.0_121 )

5. How can I download latest library .e. designplayer.jar file ?

    Click here to download the latest designplayer library.

6. Will the tool work if I just download the latest designplayer.jar file

     Yes, it should work- drop a mail to if you face any problem.

7. Need an example Java/Python/Tcl source code to extract & print hierarchical instances , nets and pins by using the verilog parser API 

    Send email to to get the Unix/linux .tar.gz or Windows .zip of the Java or Python or Tcl source code, sample verilog file and output.

8. Need an example Java/Python/Tcl source code to print nets in a module by using the Verilog Parser API

    Send email to to get the Unix/linux .tar.gz or Windows .zip of the Java or Python or Tcl source code, sample verilog file and output.

​9. The DesignPlayer GUI is not opening up- its giving error

     This problem may arise if java is not in your path. Run 'java' in the terminal to check this.

     If you run this in LSF and if it fails there then that might be due unavailability of java in that LSF machine.

     To fix this problem, copy jre or install appropriate JRE for the platform ( Linux or Windows 32 or 64 etc ) in your machine and the copy the JRE inside the $EDAUTILS_ROOT/bin directory. Make sure that the name of the jre directory is 'jre' , if not then rename it to 'jre'. Its mandatory to have the directory name as 'jre' .

​10.  I want to cleanup the cahche or hidden data so that it starts afresh. Looks like the GUI got messed / corrupted. Howto resolove this GUI problem ?

     Execute the following command(s)-

    \rm -rf $EDAUTILS_ROOT/bin/configuration/org.eclipse.*

    For Windows, run equivalent command in the DoS shell/terminal which opens up when you double click the setup_env.bat file .

    Also, remove the directory named .edautils in your home area and then rerun the application. In Windows, this directory will be located at C:\Users\<your login username>\.edautils and in Linux it will be $HOME/.edautils .

11. How can generate testbench for SystemVerilog module containing multidimensional ports and interfaces ?

     First generate a wrapper by using the genwrapperverilog tool and then pass the wrapper as input to the Verilog testbench generator.

12. How can I generate VHDL testbench for an entity with multidimensaional arrays ir record type ports

     First generate a wrapper from the given entity by using the genwrappervhdl tool and then pass the generated wrapper entity to the VHDL testbench generator.

​13. How can I split/flatten a Verilog hierarchical instance ?

     Use the flatteninstance solution. You may also consider Verilog flattener and the hierarchy removal solutions.

14. Howto set environment variables, howto start the DesignPlayer GUI in Linux and howto to select Perspectives like Baya, IP-XACT ?

     Watch the youtube video here.

15. How can I set DesignPlayer environment variables in Windows, howto start the GUI and change Perspective(s) ?

      Watch this video for Windows and watch this video for the Linux platform.

​16. Can I request EDAUtils to customize for our specific use model ?

      Yes, it is possible. Please send email to with your requirement.

17. How can I set EDAUTILS_LICENSE_FILE to run the tool(s) ?

           Save the license in the EDAUTILS_ROOT directory or in the user specific HOME or in the run directory.
           Then set the environment  EDAUTILS_LICENSE_FILE to that path as below in Linux.
           setenv EDAUTILS_LICENSE_FILE /pkg/tools/DesignPlayer-linux.x86_64/DesignPlayer-linux.x86_64/26NOV2016/edautils.lic 

           For Windows machine, if the above does not work and you face difficulty with LICENSE for whatever reason 
           then remove the setting of EDAUTILS_LICENSE_FILE  environment variable. Save/copy the license file in the HOME directory ( C:\Users\<YourName> )
           and EDAUTILS_ROOT and if possible, also in the directory from where you are running the tool.

           If nothing works then DO NOT set the EDAUTILS_LICENSE_FILE environment variable and set only the  EDAUTILS_LICENSE_KEY to
           the value as given in the email.

           Make sure the EDAUTILS_LICENSE_KEY is NOT set while you set the EDAUTILS_LICENSE_FILE .
           At an point in time, only one of them should be set - not both.

18. How can I fix OutOfMemoryError as below in EDAUtils GUI Tool?

           org.eclipse.e4.core.di.InjectionException: java.lang.OutOfMemoryError: PermGen space
           org.eclipse.e4.core.internal.di.MethodRequestor::execute() at

            Open the bin/DesignPlayer.ini  or bin/UPFEditor.ini as applicable and Increase the memory value in the line below( increase from 1024 to 2048 or more ...) -


The collection of tools and utilities fills a real void in EDA. The baya tool is exactly what we had been looking for to assemble large top-level modules in Verilog. The GUI and high-level TCL commands are intuitive, allowing designers to get started immediately and feel right at home. It was straightforward to quickly reproduce a module previously done with a Perl-to-Verilog utility that was hard to use and maintain. The support from Kanai is excellent. He responds quickly and is a pleasure to deal with. Nice work, Kanai!”-Michael Trocino, IC Design Manager, Coherent Logix "thanks for efficient tools which have been successfully used in our internal wireless design flow. Friendly support has been highly appreciated." -Claudine Raibaut,EDA Manager, Texas Instruments "Baya is a mature production quality tool with features and capabilities beyond those of tools provided by large EDA vendors. It's flexibility is a key reason we have chosen it for use in our Cloud-based platform." -David Fritz, CEO, Social Silicon "Kanai produced an excellent tool set, which is very useful for a complex system-on-chip integration flows. We were skeptical in the beginning, but later got really impressed by a high quality and ease of use. Bridgit IPXACT creator helps us to pack register, bus and module interfaces into a IEEE standard *.xml SPIRIT format to ensure high reusability in the future and protect our investments. I high recommend using Kanai’s products for every system-on-chip manufacturer and invest Venture Capital to support further improvement and commercialization." -Boris V. Kuznetsov Processorpreneur, CEO @ SOCC "Hi Kanai, thanks a lot for creating DesignPlayer and the huge java class lib behind. Even I discoverd only the tip of the iceberg, I got already a lot of my project done. I'm sure there is much more. Your strong support makes me confident to explore more details in future." -Rolf Kemper, Manager, Mixed Signal Design, Renesas Electronics Europe "We were very pleased with your response. The VHDL2Verilog translator worked great, even handling the generate statements in the source VHDL. It met our needs exactly. It was very easy to work with you and you delivered the translator super fast. Thanks for the great support!" -Jerry Frenkil, VP of Engineering, NanoWatt Design "EDAUtils is one (if not the only one) of the most comprehensive tools for SoC design and integration and it is available for free. I included EDAUtils in the latest OpenTech Package as featured application among all free open source designs and tools and I believe with a lot of efforts it will grow to be one of the major tools in this domain."- Jamil Khatib, OpenTech Package
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.sun.crypto.provider.CipherCore.doFinal(
at com.sun.crypto.provider.AESCipher.engineDoFinal(
at javax.crypto.Cipher.doFinal(
at edautilsstarter.EDAUtilsRunner.freezer(
at edautilsstarter.EDAUtilsRunner.defreeze(
at edautilsstarter.EDAUtilsRunner.main(