I put in a support ticket with Lattice. Nothing they suggested I try worked. Except installing on another Windows box. When I did not get the error on the other box, they disappeared on me. I really need this to work on my laptop. Apparently there is some incompatibility. Has anyone else encountered this error? If so how did you troubleshoot and fix? I suppose it could be anything from incompatible software, or a running service, or even a registry entry.
This is the error message I get in the Lattice Diamond console when I try to synthesize:
synpwrap -prj "RGIBA_U29_RGIBA_U29_synplify.tcl" -log "RGIBA_U29_RGIBA_U29.srf"
Copyright (C) 1992-2014 Lattice Semiconductor Corporation. All rights reserved.
Lattice Diamond Version 22.214.171.124
Error : Please install Synplicity VHDL/Verilog HDL Synthesizer first before invoking it.
Done: error code 1
I believe the install creates environment variables, paths for the synplify tools. You could check these and make sure they are pointing to the correct directory.
I tried adding the path where Lattice stashes the Synplify Pro for Lattice to a number of promising environment/system variables. I was not successful.
I think you may be on to something. I'll install on a desktop box I have access to. The same one that I was successful with previously. (I had to uninstall it.)
Maybe that will give me some insight.
I also notice that Lattice makes use of:
Could be something there as well.
I haven't had issues with Lattice/Syn Pro on my system (don't use roaming profiles) but I have had tons of issues with roaming profiles previously. I requested to disable roaming profiles before I started using the lattice tools.
Turns out that I had installed Synplify first. We use it to synthesize code for Xilinx parts. Then Lattice Diamond (with Synplify Pro for Lattice).
I uninstalled Synplify. Then uninstalled Lattice. Reinstalled Lattice. Finally Synplify Pro for Lattice functioned correctly. Then I reinstalled Synplify. And nothing broke!
Sure seems like something that Lattice tech support would be aware of.