SynthOS is a live operating system based on Ubuntu Server, tailored for FPGA (Field Programmable Gate Array) synthesis using High-Level Synthesis (HLS) tools. It simplifies the process of synthesizing C/C++ code for FPGA deployment by providing a ready-to-use environment with all necessary tools pre-installed. SynthOS is ideal for use on personal computers, virtual machines, and AWS EC2 instances for enhanced computing power. The OS includes a demo project for matrix multiplication to help users get started.
- Download SynthOS ISO Image: Obtain the ISO image of SynthOS.
- Create a Bootable USB Drive or Setup a VM: Use the ISO to create a bootable USB drive or configure a virtual machine or AWS EC2 instance.
- Boot from USB Drive or Start VM/EC2 Instance: Boot your system from the USB or launch the VM/EC2 instance.
- Login to the Instance: The default username is
synthos
and the default password isHIGHLEVELSYNTHESIS
.
- Open Terminal: Access the terminal in SynthOS.
- Run Synthesis Script:
-
Use
synthesis_project.sh
script to either run your own project or the demo project:./synthesis_project.sh
-
Follow the prompts to either input your project's GitHub repo URL (see the demo project for how your project should be structured) or use the demo matrix multiplication project.
-
- FPGA Synthesis:
- The script facilitates the synthesis process, making it easy to compile and prepare your code for FPGA deployment.
- Modify
synthesis_settings.cfg
to customize synthesis settings. - Ensure the script points to the correct HLS tools and project files (by default this is done for you).
- Demo Project: Sample matrix multiplication code (
matrix_multiplication.cpp/h
andtestbench
). - Scripts:
synthesis_project.sh
for running synthesis andrun_synthesis.tcl
for HLS. - Config File:
synthesis_settings.cfg
for managing synthesis settings.
- Place your C/C++ project files in the SynthOS environment.
- Use
synthesis_project.sh
to specify your project repository or select the demo project. - Modify synthesis settings in
synthesis_settings.cfg
as required.
- SynthOS includes all necessary dependencies, including HLS tools and GCC for C++.