Skip to content

Repository for the GAT RISC-V Roadshow, featuring the VSDSquadron Mini RISC-V Development Board, setup guides, technical specifications, and programming instructions.

Notifications You must be signed in to change notification settings

Sikandar-irfan/GAT-RISC-V-Roadshow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Workshop Documentation

Welcome to the VSDSquadron Mini RISC-V Development Board workshop documentation! This comprehensive guide contains all the essential information you need for setup and development. The VSDSquadron Mini is an innovative RISC-V development board designed for education and development, featuring the CH32V003F4U6 chip with a 32-bit RISC-V core based on the RV32EC instruction set. This documentation will walk you through the process of setting up your workshop, understanding the technical specifications, and getting started with development.

Table of Contents

Overview

The VSDSquadron Mini is an innovative RISC-V development board designed for education and development. It features the CH32V003F4U6 chip with a 32-bit RISC-V core based on the RV32EC instruction set.

Features

  • CH32V003F4U6 with 32-bit RISC-V core (RV32EC)
  • 24MHz system main frequency
  • 2KB SRAM
  • 16KB CodeFlash
  • 1920B Bootloader
  • Multiple communication interfaces (USART, I2C, SPI)

Technical Specifications

Parameter Specification
Form Factor 50.00 x 28.00 mm
I/O Voltage 3.3V
Input Voltage 5V (USB)
Operating Temperature 20-35Β°C

Getting Started

Prerequisites

  • VSCode
  • 100GB free space
  • USB Type-C cable
  • Windows/Ubuntu OS

Installation Guide

  1. Download and install VSCode
  2. Install required extensions
  3. Set up development environment
  4. Configure board drivers

Board Setup

  1. Connect USB Type-C cable
  2. Install necessary drivers
  3. Verify board connection
  4. Configure development environment

Programming Guide

  1. Basic programming workflow
  2. Code examples
  3. Debugging instructions
  4. Common programming patterns

Support

For technical support and questions:

Introduction

This repository provides comprehensive documentation for the VSDSquadron Mini RISC-V Development Board workshop.

Documentation

Setup Guide

  • Comprehensive guide for laboratory setup
  • File: StepsToSetupLabs.pdf
  • Size: 754.6 KB
  • Purpose: Provides detailed instructions for setting up workshop laboratories

Technical Details

  • Detailed technical specifications
  • File: datasheet.pdf
  • Size: 15.9 MB
  • Purpose: Contains technical specifications and reference materials

Usage Instructions

  1. Start with StepsToSetupLabs.pdf for initial setup instructions
  2. Refer to datasheet.pdf for technical specifications and details

Important Information

  • Ensure to follow the setup steps in the correct order
  • Keep these documents for future reference
  • Both PDFs contain crucial information for workshop operation

VSDSquadron Board

Version Documentation Community

VSDSquadron Mini Board
VSDSquadron Mini: Your Gateway to RISC-V Development

Quick Start Guide

Prerequisites

  • VSCode
  • 100GB free space
  • USB Type-C cable
  • Windows/Ubuntu OS

Board Connection

Board Connection
Connect USB Type-C as shown

Features Overview

  • CH32V003F4U6 with 32-bit RISC-V core (RV32EC)
  • 24MHz system main frequency
  • 2KB SRAM
  • 16KB CodeFlash
  • 1920B Bootloader

Technical Specs

Board Specifications

Parameter Specification
Form Factor 50.00 x 28.00 mm
I/O Voltage 3.3V
Input Voltage 5V (USB)
Operating Temperature 20-35Β°C

GPIO Configuration

  • 15 I/O ports in 3 groups
  • USART (PD6-RX, PD5-TX)
  • I2C (PC1-SDA, PC2-SCL)
  • SPI (PC5-SCK, PC1-NSS, PC6-MOSI, PC7-MISO)

Development Setup

For detailed setup instructions, please refer to our setup guide.

🎯 Overview

Block Diagram
VSDSquadron Mini Block Diagram

The VSDSquadron Mini is an innovative RISC-V development board designed for education and development. It features the CH32V003F4U6 chip with a 32-bit RISC-V core based on the RV32EC instruction set.

Key Highlights
  • 🎯 Perfect for RISC-V learning and development
  • πŸ’‘ Built-in programmer - no external hardware needed
  • πŸ”Œ USB Type-C connectivity
  • ⚑ 24MHz system frequency
  • πŸ’Ύ 16KB Flash + 2KB SRAM

⚑ Features

Core Components
  • Processor: CH32V003F4U6 with 32-bit RISC-V core (RV32EC)
  • Clock: 24MHz system main frequency
  • Memory:
    • 2KB SRAM
    • 16KB CodeFlash
    • 1920B Bootloader
Connectivity
  • GPIO: 15 I/O ports in 3 groups
  • Communication Interfaces:
    • USART (PD6-RX, PD5-TX)
    • I2C (PC1-SDA, PC2-SCL)
    • SPI (PC5-SCK, PC1-NSS, PC6-MOSI, PC7-MISO)

πŸ”§ Technical Specifications

Board Specifications
Parameter Specification
Form Factor 50.00 x 28.00 mm
I/O Voltage 3.3V
Input Voltage 5V (USB)
Current per I/O Pin 8mA (Source/Sink)
Operating Temperature 20-35Β°C (68-95Β°F)
Maximum Component Height Top: 8mm, Bottom: 1mm
Detailed Pin Configurations

GPIO Assignments

Interface Pin Configuration
SPI PC5(SCK), PC1(NSS), PC6(MOSI), PC7(MISO)
I2C PC1(SDA), PC2(SCL)
USART PD6(RX), PD5(TX)

ADC Specifications

  • Resolution: 10-bit
  • Input channels: PD0-PD7, PA1, PA2, PC4
  • Conversion time: Based on APB2 clock
  • Reference voltage: 3.3V

Interrupt Configuration

  • 8 external interrupt edge detectors
  • Mappable to any of 18 external I/O ports
  • Configurable trigger edges (rising/falling)

πŸ–₯️ Development Environment Setup

VDI Setup Instructions

Visual Setup Guide
VirtualBox New VM
Step 1: Create New VM
VirtualBox Disk Setup
Step 2: Configure Virtual Disk
VirtualBox Settings
Step 3: System Settings
VirtualBox USB Setup
Step 4: USB Configuration
Prerequisites
  1. System Requirements

    • Minimum 100GB free space on C: or D: drive
    • CPU with virtualization support enabled in BIOS
    • Minimum 8GB RAM recommended
    • Operating System: Windows/Ubuntu
  2. Required Software

Step-by-Step Installation

1. VirtualBox Installation

  • Download and install VirtualBox
  • Install VirtualBox Extension Pack for USB support
  • Restart your system if prompted

2. Virtual Machine Creation

VirtualBox New VM
Create a new Virtual Machine with these settings
Configure VM:
- Name: VSDSquadron
- Type: Linux
- Version: Ubuntu 18.04
- Memory: 4096 MB (recommended)

3. Virtual Disk Setup

VirtualBox Disk Setup
Select the downloaded VDI file
1. Choose "Use an existing virtual hard disk file"
2. Click the folder icon to browse
3. Select your downloaded VDI file
4. Click "Create"

4. VM Settings Configuration

VirtualBox Settings
Optimize your VM settings
System Settings:
- Enable EFI
- Enable PAE/NX
- Processor: 2 CPUs
- Enable VT-x/AMD-V

Display Settings:
- Video Memory: 128MB
- Enable 3D Acceleration
- Graphics Controller: VBoxSVGA

5. USB Configuration

VirtualBox USB Setup
Configure USB settings for device access
1. Enable USB Controller
2. Select USB 3.0 Controller
3. Add USB device filters if needed

6. Guest Additions Installation

VirtualBox Guest Additions
Install Guest Additions for better performance
1. Start the VM
2. Click "Devices" β†’ "Insert Guest Additions CD"
3. Follow installation prompts
4. Restart VM when complete

Troubleshooting VDI Setup

Common Issues and Solutions
  1. Virtualization Errors

    • Error: VT-x/AMD-V hardware acceleration is not available
      Solution:
      1. Enter BIOS (usually F2 or Del during boot)
      2. Look for "Virtualization Technology" or "VT-x"
      3. Enable the setting
      4. Save and restart
      
    • Error: Hyper-V is interfering with VirtualBox
      # Run in PowerShell as Administrator
      bcdedit /set hypervisorlaunchtype off
  2. Performance Issues

    • Slow VM Performance
      Solutions:
      1. Increase RAM allocation
      2. Enable 3D acceleration
      3. Increase video memory to 128MB
      4. Disable unnecessary VM features
      
    • Laggy Interface
      Solutions:
      1. Install VirtualBox Guest Additions
      2. Enable hardware virtualization
      3. Reduce desktop effects in Ubuntu
      
  3. Boot and Startup Issues

    • Black Screen on Boot
      Solutions:
      1. Enable EFI in VM settings
      2. Try different graphics controllers
      3. Start in safe graphics mode
      
    • VERR_VMX_MSR_LOCKED_OR_DISABLED Error
      Solutions:
      1. Disable Hyper-V
      2. Remove Hyper-V Windows feature
      3. Restart Windows
      
  4. USB and Connectivity Issues

    • Device Not Recognized
      Solutions:
      1. Install VirtualBox Extension Pack
      2. Enable USB 3.0 controller
      3. Add user to vboxusers group (Linux)
      
    • Network Connection Failed
      Solutions:
      1. Check adapter settings
      2. Try different adapter types
      3. Reset network configuration
      
  5. Storage and Space Issues

    • Insufficient Disk Space
      Solutions:
      1. Clean Windows temporary files
      2. Use disk cleanup tools
      3. Move VDI to drive with more space
      
    • VDI File Corruption
      Solutions:
      1. Verify VDI checksum
      2. Try VBoxManage repair
      3. Re-download VDI if necessary
      
Performance Optimization Tips
  1. Virtual Machine Settings

    - Allocate at least 4GB RAM
    - Enable PAE/NX
    - Use VBoxSVGA graphics controller
    - Enable 3D acceleration
    
  2. Host System Optimization

    - Close unnecessary applications
    - Disable background services
    - Update VirtualBox to latest version
    - Update host OS drivers
    
  3. Guest OS Optimization

    - Install Guest Additions
    - Disable unnecessary services
    - Use lightweight desktop environment
    - Regular system cleanup
    

πŸ’» Installation Guide

1. VSCode Setup

VSCode Extension
Step 1: Install PlatformIO Extension

2. PlatformIO Setup

PlatformIO Home
Step 2: Open PlatformIO Home

3. Install CH32V Platform

Advanced Installation
Step 3: Advanced Installation

πŸš€ Programming Guide

Quick Start Code
// Blink Example
#include "ch32v00x.h"

int main(void) {
    // Initialize LED pin
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    while(1) {
        GPIO_WriteBit(GPIOD, GPIO_Pin_6, Bit_SET);   // LED ON
        Delay_Ms(1000);
        GPIO_WriteBit(GPIOD, GPIO_Pin_6, Bit_RESET); // LED OFF
        Delay_Ms(1000);
    }
}

🀝 Support

Get Help

πŸ“ License

2024 VLSI System Design (VSD)

About

Repository for the GAT RISC-V Roadshow, featuring the VSDSquadron Mini RISC-V Development Board, setup guides, technical specifications, and programming instructions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published