Senior Design Team using C9 for Modelsim and other FPGA development tools

ssh
workspace

#1

Introduction

I first provide some context about our project. Then I introduce some of the
software we use and what possible systems this software can run on. Finally, I
explain some possible uses we would have for Cloud 9. We love the tool and
have considered buying premium service if it is needed to accomplish our goals.

Our goal: A Hardware Integrated Prototyping Environment (HIPE) is needed to
accelerate the iterative prototyping process. HIPE uses a Hardware In the Loop
simulation technique adding FPGA hardware to an existing prototyping workflow,
in order to reduce the time required for VHDL simulations.

Who: We are a team of three senior Electrical Engineers from SDState.edu
When: Aug 2016 - May 2017

Where does Cloud9 fit in?

We have been using the collaboration features of Cloud9 to develop as a team.
Most of our team has limited git experience and it is extremely nice being able
to work on the same copy of the files.

What do we need?

We would like to be able to write, compile and execute our code from the Cloud9
workspace.

Status Quo

Machines

  • Laptop with a I7-4700MQ processor and 6 GB of ram that runs Windows 8.
  • Desktop with a Core2 Duo processor and 8 GB of ram that runs Windows 7.
  • Linux Virtual Machine that runs Ubuntu Mate 16.

Software

  • Modelsim, used to compile System Verilog, run simulations, and interact with
    C++ code via SV’s DPI-C.
    • Size: 1.4 GB MD5
    • g++, compiles C++ code for SV’s DPI-C.
  • Quartus Prime Lite Edition, used to synthesize a design to Altera board.
    • Size: 2.0 GB
    • jtagd, server daemon that allows multiple devices to use a JTAG connection.
    • System-Console, run TCL scripts which can communicate with JTAG device.
  • Vivado Design Suite, used to synthesize a design to Xilinx board.
    • Has comparable products to those listed under Quartus Prime Lite Edition

Use case 1

Using a SSH workspace to connect to a Linux Virtual Machine running on one of
our computers. Here we can access the tools mentioned above via the command line.

How can we set-up access to the SSH server from C9, which is external to our
network? Are there any concerns about latency?

Use case 2

Install and then use the tools in a Cloud9 hosted workspace.

How much space can a premium workspace use for installing programs? Can a C9
workspace connect to a TCP/IP server hosted on our computer?

Use case 3

Using SSH to connect to a Linux Virtual Machine. This would allow access to the
tools on the Virtual Machine via the command line but not access to the files.


#2

Use case 1

This is often the best bet in instances like yours since you’ll get to use your own resources. This usually mean more RAM, disk, and CPU than what you’d get in a hosted workspace. Have a look at Running Your Own SSH Workspace for instructions on this.

Use case 2

Workspaces can have up to 10gb of disk space and 2.5gb of RAM. These sizes ensure that hosted workspaces are stable. You can connect to your own server from within a workspace over SSH. Any method used from the terminal is probably going to work as well.

Use case 3

As mentioned above, this should work out without any issues.


If I’ve left anything out, feel free to scold me for it :wink:

Finally, I can definitely recommend git or another version control system. Cloud9 is great for collaboration but is not a substitute for version control so I’d recommend something like https://try.github.io/levels/1/challenges/1 to get a feel for some sort of version control :thumbsup: