CircuitVerse Documentation

website·Indexed 30 days ago

https://circuitverse-docs.netlify.app

Documentation for CircuitVerse, a free, cloud-based platform for building and simulating digital circuits. Includes guides on using the simulator, managing circuit elements like gates, sequential elements, and ALUs, working with subcircuits and Verilog modules, and configuring SAML-based SSO with Okta.

Tokens
14.2K
Snippets
24
Records
141
Agent score
74%

What's inside CircuitVerse

  1. Overview of the CircuitVerse simulator interface

    The CircuitVerse simulator consists of several key functional areas used to design and analyze digital circuits:

    • Menu bar: Used for managing and creating projects.
    • Circuit Elements Panel: Contains the available circuit components for building a design. This panel is collapsible and can be moved.
    • Properties Panel: Displays configuration options for the currently selected circuit element. This panel is collapsible and can be moved.
    • Circuit Tabs: Manages different circuits and sub-circuits within a single project.
    • Quick Access Panel: Provides task icons for common workflows. This panel can be moved.
    • Timing Diagram: Visualizes input and output levels after each clock pulse to determine circuit behavior.
    • Report System: A dialog box for reporting bugs or issues to the support team.
    • Canvas: The primary workspace where circuit elements are assembled.
  2. Overview of CircuitVerse digital logic simulation

    CircuitVerse is an open-source, cloud-based educational tool used for designing and visualizing digital logic circuit simulations directly in the browser. It allows users to explore "what-if" scenarios, share creations via unique URLs, and fork community contributions.
  3. Overview of CircuitVerse Simulator Features

    CircuitVerse is a cloud-based circuit simulator that allows users to build, simulate, and troubleshoot circuits directly in a web browser without software installation. Key capabilities include:

    • Cloud-based Simulation: Circuits can be saved to a user dashboard or locally. Changes can be applied and edited while the simulation is running.
    • Schematic Editor: An interactive drag-and-drop editor with color-coded wires for easier analysis.
    • Component Library: A wide range of elements from basic gates to register transfer level (RTL) and system-level components, most of which feature customizable input attributes.
    • Multibit Support (Buses): Supports multibit wires between components. Bit widths for inputs and outputs are customizable, and splitters can be used to route individual bits.
    • Hierarchical Design: Supports the creation of subcircuits, allowing smaller circuits to be nested and reused within larger designs.
    • Export & Embedding: High-resolution images can be exported in multiple formats. Simulations can be embedded in webpages via HTML5 iframes or in Google Slides using the CircuitVerse Chrome extension.
    • Analysis Tools: Includes timing diagrams to debug logical mistakes, race conditions, and propagation delays, which can be used in conjunction with the Flag circuit element.
    • Collaboration: Users can share circuits via unique URLs, use online forums, collaborate on designs, or fork existing user contributions.
  4. Use the Quick Access Panel in CircuitVerse

    The Quick Access Panel provides immediate access to common workflows within the CircuitVerse simulator. Users can hover their mouse over the icons in the panel to see a brief description of each tool's function. The toolbar is flexible and can be moved around the canvas or positioned within the menu bar for convenience.
  5. Annotate circuits for version control and collaboration

    Use the annotation tools within the CircuitVerse simulator to document your design revisions. It is recommended to include version numbers, dates, a list of amendments, and the names of group members involved in the project directly on the circuit schematic.
  6. Integrate CircuitVerse assignments with Sakai

    To add a CircuitVerse assignment to Sakai:

    1. Navigate to Site Info > External Tools tab.
    2. Click Install LTI 1.x Tool.
    3. Enter the following details:
      • Tool title: CircuitVerse Assignment-[your_assignment_name]
      • Button Text: CVButton (or similar)
      • Launch URL: Tool URL from CircuitVerse
      • Launch key: Consumer key from CircuitVerse
      • Launch secret: Shared secret from CircuitVerse
    4. Check all checkboxes in Privacy Settings and Services.
  7. Create and configure a group assignment

    To create a new assignment for a group, navigate to your account in the upper right-hand corner, select My Groups, and click the View icon for the desired group. In the Assignments section, click +Add Assignment.

    Required and optional configuration fields include:

    • Name: The title of the assignment.
    • Description: A brief explanation of the task.
    • Deadline: A timestamp for when the assignment is due.
    • Grading scale: Must be set during creation and cannot be changed later. Options include:
      • No Grade: Default; no scale assigned.
      • Letter (A-F): Grades A, B, C, D, E, or F.
      • Percent (1-100): Percentage from 1 to 100.
      • Custom: Custom text or number.
    • Enable Elements Restriction: A toggle that allows the mentor to disable specific circuit elements for group members.

    Click Create Assignment to finalize.

  8. Configure CircuitVerse SSO with Okta

    To integrate CircuitVerse with Okta for SAML-based SSO, follow these steps:

    1. Okta Admin Configuration:

    • Create a new App Integration and select SAML 2.0.
    • Set the following SAML Settings:
      • Single sign on URL: https://your-circuitverse-domain.com/users/saml/auth
      • Audience URI (SP Entity ID): https://your-circuitverse-domain.com/users/saml/metadata
      • Name ID format: Transient
      • Application username: Email
    • After creating the app, retrieve the Identity Provider Single Sign-On URL and the Certificate FingerPrint from the 'Sign On' tab.

    2. CircuitVerse Environment Configuration: Add the retrieved Okta credentials to your .env file.

    3. Activation:

    • Enable the sso_integration feature flag using Flipper.
    • Verify the 'Login with SSO' button appears on the login page.
    IDP_SSO_URL=<sso-idp-url>
    IDP_FINGERPRINT=<sso-idp-fingerprint-certificate>
  9. Create wireless connections using Tunnels

    Tunnels allow you to transmit signals between two points without using a physical wire. To connect two tunnels together, they must share the same Debug Flag identifier attribute in the PROPERTIES panel.

    Tunnel Properties

    • BitWidth
    • Direction
    • Debug Flag identifier (Must match to connect tunnels)
  10. Manage classrooms and students in CircuitVerse

    Educators can use the CircuitVerse platform to manage classroom learning goals through the following features:

    • Create and manage student groups.
    • Post assignments and define submission deadlines.
    • Add or export student grades.
  11. Create and save a CircuitVerse project

    To ensure your work is preserved for future reference, you should create an account and save your project online. While the simulator saves periodically to browser memory, online saving makes the project available on your dashboard.

    Steps to save:

    1. Go to https://circuitverse.org/ and click Launch Simulator.
    2. In the Quick Access Panel, click the Save Online icon (or Save Offline to download to local browser storage).
    3. Enter a project name in the pop-up window.
    4. If saving online, you will be directed to the Edit Project details page to add additional project information.
    5. Click Update Project to finalize details and return to the simulator.