The workspace origin directory on your local compute should be selected according to the files and directories required to run simulations. Users should choose a location high enough in their directory structure that it contains all the needed files. Once an origin directory 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 two versions of the same design.
- carry_lookahead_adder-tutorial_example/SystemVerilog (SystemVerilog only)
- carry_lookahead_adder-tutorial_example/VHDL_SystemVerilog (mixed SystemVerilog/VHDL )
What if I choose VHDL_SystemVerilog as my workspace origin directory?
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 both 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-tutorial_example location?
Creating a single workspace at this level will allow users to seamlessly move between both the VHDL_SystemVerilog and SystemVerilog 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 workspace origin directory. Please consider the following:
- Choose an origin directory 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.