UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 65407

2014.3 Synthesis - Error [Synth 8-1730] cannot call side-effect procedure print from within pure function XX

Description

When I apply the procedure "print " in VHDL within a pure function, I get the following synthesis error: [Synth 8-1730].

 

Example code:

function XX(...);

...

print("ExtMemTypes Allocated image " & str(imagenr) & " buf " & str(buffernr) & " : " & str(j * c_aligny * 2**c_lineincbits + i * c_alignx));

...

 

Error message in 2014.3:

[Synth 8-1730] cannot call side-effect procedure print from within pure function XX ["YY.vhd":285]

 

How can I resolve this issue?

Solution

To work around this issue,  avoid using the procedure "print" in VHDL within a pure function.

In Vivado 2015.3, the error message is updated as follows:

[Synth 8-5638] side-effect procedure print called from within pure function XX ["YY.vhd":285]

AR# 65407
Date Created 09/14/2015
Last Updated 10/06/2015
Status Active
Type General Article
Devices
  • Kintex-7
Tools
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.4
  • Vivado Design Suite - 2015.1
  • More
  • Vivado Design Suite - 2015.2
  • Vivado Design Suite - 2015.3
  • Less