- Não fala Inglês? clique aqui
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.
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.
- 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
- 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
This module can be used in two main ways:
- Python API: Importing the modules directly into your Python project.
- Interactive Shell: Using the integrated shell for direct communication with the hardware infrastructure.
To start the integrated shell:
python3 main.py -s -p PORT
Example:
python3 main.py -s -p /dev/ttyUSB0
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 to115200
.-t
: Sets the timeout to 2s.
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
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.
Contributions: If you want to contribute improvements, check the CONTRIBUTING.md file.
This project is licensed under the MIT license, granting full freedom of use.