cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
872 Views
Registered: ‎01-23-2020

Simulating with encrypted sources

Jump to solution

Hi all,

Using Vivado 2020.1

I am trying to simulate some code in my Vivado project. For that, I have added all the necessary files to the project.

However, one of the files used for the simulation is encrypted (*.svp). When adding this file to Vivado, it is placed under Non-module Files folder, instead of being under the testbench file which instantiates it.

Therefore, when I start the simulation (behavioral), I get this error:

ERROR: [VRFC 10-2063] Module <my_encrypted_module> not found while processing module instance <my_encrypted_module>  [...]

Is there any way to tell Vivado, that the encrypted file I have added to the project, is actually the file that has the missing module?

 

Thanks!

0 Kudos
1 Solution

Accepted Solutions
necare81
Voyager
Voyager
843 Views
Registered: ‎03-31-2016

You can try setting the Filetype to System Verilog through the right click menu on the filename or you can just rename it to a .sv file.
That should work if the file is encrypted for Xilinx tools, assuming you are using Vivado to the actual simulation.

Are you sure that file is encrypted for use with Xilinx? 

Encrypted verilog has to be generated with support for the specific tool or tool vendor that is trying to use it.  Basically it is encrypted using a symmetric key method like AES and then the symmetric key is encrypted with the public key of the tool vendor so that only the private key built into the tool can decrypt it the symmetric key.

You should be able to open the .svp file in a text editor and find some plain text about which keys are are supported.  If you don't see one from Xilinx listed you cannot simulate that with Vivado

View solution in original post

0 Kudos
6 Replies
necare81
Voyager
Voyager
844 Views
Registered: ‎03-31-2016

You can try setting the Filetype to System Verilog through the right click menu on the filename or you can just rename it to a .sv file.
That should work if the file is encrypted for Xilinx tools, assuming you are using Vivado to the actual simulation.

Are you sure that file is encrypted for use with Xilinx? 

Encrypted verilog has to be generated with support for the specific tool or tool vendor that is trying to use it.  Basically it is encrypted using a symmetric key method like AES and then the symmetric key is encrypted with the public key of the tool vendor so that only the private key built into the tool can decrypt it the symmetric key.

You should be able to open the .svp file in a text editor and find some plain text about which keys are are supported.  If you don't see one from Xilinx listed you cannot simulate that with Vivado

View solution in original post

0 Kudos
774 Views
Registered: ‎01-23-2020

I see. I don't really know, because this file was given to and I don't know how they encrypted it. But looking at it does not seem that has anythong to do with Vivado...

This is what is found at the beggining of the file:

`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "10.6c_1"
`pragma protect key_keyowner = "Mentor Graphics Corporation" , key_keyname = "MGC-VERIF-SIM-RSA-2"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
axZWZuYpY09vHMpXlarTM0A8FoIMQjREN66Klfs270gPUczJMn98OIyftTz+ZWge
X8UuHxSl/Y9JkUMc3c2zXA+0SFML5abnccAqCqo2B/w3sUficLQem6Qw+ueT8PFb
vFBmh++s6FtlTy7Ii13maqGVpe+vZZWANDFGgGF30K6vikiJUxj5+llXrYTAFY7l
mBi1W/0PGS2IC+k8TYmc6KJVnmB5Wg44en5JzD2kbKGh9SYyXecOdsxuLN3/0mvI
gl0lFgUnPPWExIofxzK7xpMLwYYRgfFiVtyioBkydjGiHD5hyQg39DhESaqUScJb
W/Dkkm27gUZ7epUNAF8AYg==
`pragma protect data_method = "aes128-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 9208368 )
`pragma protect data_block

 

I guess Vivado cannot open it, right? Therefore, although I am using Modelsim to simulate (opened by Vivado), I cannot use it, right?

 

Thanks!

0 Kudos
stephenm
Xilinx Employee
Xilinx Employee
763 Views
Registered: ‎09-12-2007

you can try a functional (Netlist) simulation, as apposed to behavioral simulation

0 Kudos
755 Views
Registered: ‎01-23-2020

I see. But behavioral will be impossible, right?

If that's the case, I will mark your previous reply as anwser

0 Kudos
necare81
Voyager
Voyager
739 Views
Registered: ‎03-31-2016

That file is encrypted so that only Mentor simulation tools can open it, look at the key_keyname and key_keyowner entries.

If you are using the real Modelsim, renamed to Questasim a few years ago, you should be able to use that file but you will probably have to hand modify the scripts and run them outside of Vivado.

One quick thing to try is seeing if the right-click menu for that file has a "Set Used In..." option and the Simulation option is cleared.  If so you enable it and try again.  If not then you have to go with custom scripts.

0 Kudos
736 Views
Registered: ‎01-23-2020

no luck with that.
i am already trying directly with modelsim, it works fine

 

I guess I cannot use vivado then

 

thanks!

0 Kudos