How To: Choose your DSim Cloud local workspace
The local workspace on your local compute should be selected according to the files and directories required to run simulations. You should choose a location high enough in their directory structure that it contains all the needed files. Once a local workspace has been selected, it becomes the "source of truth" and all files and directories within it will be synchronized to the remote storage.
Consider the example directory structure below, which is taken from the DSim Cloud Tutorial example design. This directory structure contains three versions of the same design:
-
carry_lookahead_adder-main/SystemVerilog (SystemVerilog only)
-
carry_lookahead_adder-main/VHDL (VHDL only)
-
carry_lookahead_adder-main/VHDL_SystemVerilog (mixed SystemVerilog/VHDL)
What if I choose VHDL_SystemVerilog as my local workspace?
If a workspace is initialized at location VHDL_SystemVerilog, then you will be able to execute DSim Cloud commands from within the VHDL_SystemVerilog directory (and its subdirectories) and, as a result, can simulate that design only.
If you, then, changed to the SystemVerilog directory and attempted to execute any DSim Cloud CLI commands, you would no longer be in a workspace and any commands would result in an error.
What if I create workspaces in both VHDL_SystemVerilog and SystemVerilog?
While it is possible, and supported, to create two distinct workspaces for two versions of the design, consider that each workspace will allocate storage, memory and compute on the remote side.
Rather than create and manage multiple, parallel workspaces, it would be more advisable to have a single workspace created within a common parent directory.
For additional information on remote resources allocated to each workspace, see DSim Cloud CLI remote cloud compute configuration.
What if I create a workspace at the carry_lookahead_adder-main location?
Creating a single workspace at this level will allow you to seamlessly move between all three versions of the above design, as well as allocate appropriate amounts of remote storage, memory, and compute.
Recommendations
As mentioned earlier in this article, care should be taken when selecting an appropriate local workspace. Please consider the following:
-
Choose a local workspace that is high enough in the local directory structure to allow you complete access to all files that you will need for simulation.
-
Avoid creating multiple workspaces within a parent directory as creating a single workspace would be more advisable.
While it is always possible to destroy a workspace using the mdc workspace destroy command and re-initialize in another location, all workspace artifacts (waveforms, log files, etc.) will be deleted from the remote workspace unless downloaded, via the mdc download command, in advance.