Start here
The workspace
The workspace is the whole tool on one screen: your files on the left, the editor in the middle, the schematic on the right, the console underneath. Everything here is yours and stays between sessions.
The panes
- ·Files - your workspace. New file, new folder, refresh, and Download all, which decrypts everything in the browser and hands you a zip.
- ·Editor - tabs, a File and Edit menu, and on the right of its bar the things you do with code: Run and Abort, how many runs you have left this hour, the documentation, and the focus button.
- ·Schematic viewer - the drawing of the design you last ran, with its own bar. Its own page covers it.
- ·Console - what your program printed, with the run's progress. Copy and clear are on its header.
Every divider drags, and both the editor and the viewer have a focus button: focus the editor and you get the editor and console alone (the console beside the editor, or under it - the switch is on its header); focus the viewer and you get the schematic alone. The layout you leave in each arrangement is remembered.
The folders, and which are yours
| Folder | What it is |
|---|---|
src/ | Your code. Everything you write lives here, and this is what a run executes. |
2pyrtl_output/ | What a run produced: hdl/systemverilog/, hdl/vhdl/, and rtl_arch/ - the design the viewer draws. Rewritten by every run. |
stf_files/ | How you arranged each schematic. Written by the viewer when you save a layout. |
rtllibpack/ | The component library, read-only. Yours to import and to read, and it updates when the library does. |
session_files/ | What was open when you last left, so the workspace comes back as you had it. |
Only src/ is yours to organise. The others are the app's - keep nothing of your own in them. 2pyrtl_output/ in particular is written by the generator, so anything you leave there can be overwritten by the next run without warning.
Running
Run sends the files under src/ in your workspace, decrypted in your browser, to a sandbox - a fresh container with no network, your code, and the library - runs the file you have open, and streams back everything it prints. Abort stops it. The count beside the button is your hour's allowance.
| Limit | Free account |
|---|---|
| How long a run may take | 30 seconds |
| Runs an hour | 30 |
| Runs a day | 200 |
| Workspace size | 50 MB |
The sandbox is thrown away when the run ends. Anything you want to keep has to be a file your program wrote into the workspace.
What we can and cannot see
Your files are encrypted in your browser, with a key your passphrase unlocks, before they are stored. We hold the encrypted bytes and nothing else: we cannot read your code, your schematics or your generated HDL, and neither can anyone who obtains the storage.
What is not encrypted is the housekeeping around them - file names, sizes and timestamps - and those are stored by the object-storage provider under their own encryption. During a run your code is decrypted in the sandbox, because a program has to be readable to be run; the sandbox is destroyed afterwards.
Lose the passphrase, lose the files