2pyrtl logo2pyrtl

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

FolderWhat 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.

LimitFree account
How long a run may take30 seconds
Runs an hour30
Runs a day200
Workspace size50 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

There is no recovery: the key exists only where you are. Keep your passphrase somewhere safe, and use Download all before you go near anything drastic.