Skip to content

Scripts and tools to facilitate communication between the components involved in ProcessorCI (Hardware and Software), enabling control, command execution, and integration with different protocols.

License

Notifications You must be signed in to change notification settings

LSC-Unicamp/processor_ci_communication

Repository files navigation

ProcessorCI Communication

Pylint
Python Code Format Check

Welcome to ProcessorCI!

ProcessorCI is a project aimed at modernizing the processor verification process by integrating well-established verification techniques, continuous integration, and FPGA usage.

About this module

This repository provides scripts and tools to facilitate communication between the components involved in ProcessorCI (Hardware and Software), enabling control, command execution, and integration with different protocols.

Installation

  1. Clone the repository
    Clone the repository to your local development environment.
git clone https://github.com/LSC-Unicamp/processor_ci_communication.git  
cd processor_ci_communication  
  1. Set up a virtual environment and install dependencies
python3 -m venv env
. env/bin/activate
pip install -r requirements.txt

Note: Every time you use the project, you need to activate the virtual environment with:

. env/bin/activate

Usage

Operating modes

This module can be used in two main ways:

  1. Python API: Importing the modules directly into your Python project.
  2. Interactive Shell: Using the integrated shell for direct communication with the hardware infrastructure.

Starting the Shell

To start the integrated shell:

python3 main.py -s -p PORT

Example:

python3 main.py -s -p /dev/ttyUSB0

ProcessorCI Shell

The integrated shell allows direct interaction with the hardware infrastructure. Through it, you can execute the commands defined by the ProcessorCI Interface.

Additionally, it supports various configurations, such as:

  • Serial Port: Specify the communication port using -p.
  • Baudrate: Customize the transmission speed using -b.
  • Communication Protocol: The shell will soon support additional protocols like SPI and PCIe.

Example usage:

python3 main.py -s -p /dev/ttyUSB0 -b 115200 -t 2

In the example above:

  • -p: Specifies the serial port /dev/ttyUSB0.
  • -b: Sets the baud rate to 115200.
  • -t: Sets the timeout to 2s.

Available Flags

Below are some useful flags for using the shell:

  • -s: Starts the integrated shell.
  • -p: Specifies the communication port (e.g., /dev/ttyUSB0).
  • -b: Sets the baud rate (e.g., 115200).
  • -t: Sets the timeout (e.g., 1).

Full example:

python3 main.py -s -p /dev/ttyUSB0 -b 115200 -t 1

Questions and Suggestions

The official documentation is available at: processorci.ic.unicamp.br.
Questions and suggestions can be submitted in the GitHub Issues section. Contributions are welcome, and all Pull Requests will be reviewed and merged whenever possible.

Contributing to the project

Contributions: If you want to contribute improvements, check the CONTRIBUTING.md file.

License

This project is licensed under the MIT license, granting full freedom of use.

About

Scripts and tools to facilitate communication between the components involved in ProcessorCI (Hardware and Software), enabling control, command execution, and integration with different protocols.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages