Skip to content

Documentar Ferramentas Python de IA #14

@Nyfeu

Description

@Nyfeu

🎯 Objetivo

Compreender e documentar o ecossistema de ferramentas em Python (Host) que interagem com o SoC RISC-V na FPGA. O foco é explicar teoricamente como os dados abstratos (modelos de IA pré-treinados, comandos de controle) são serializados no computador hospedeiro, transmitidos via protocolo serial e como a interface gráfica unifica a experiência educacional para os alunos.

✍️ Roteiro de Escrita no MkDocs (.md)

1. Protocolo de Comunicação Host-FPGA

  • Explicar a arquitetura base de comunicação serial bidirecional.
  • Documentar o fluxo de empacotamento de dados (serialization): como números, vetores e matrizes gerados em Python são fatiados em arrays de bytes de 8 bits para transmissão via UART, respeitando o endianness (ordem dos bytes) esperado pelo processador RISC-V receptor.

2. Clientes de Inteligência Artificial

  • Analisar e documentar os scripts clientes de IA (iris_client.py, mnist_client.py, fc_client.py).
  • Explicar o papel do PC na preparação dos dados: como o script carrega datasets (como o Iris ou MNIST), extrai os pesos e vieses da rede neural e gerencia o envio sequencial dessas matrizes para o servidor rodando na FPGA.
  • Descrever o laço de inferência: o protocolo de espera (bloqueio ou polling) e como o script interpreta a classe/resultado devolvido pelo acelerador de hardware.

3. Interface Gráfica Educacional e Depuração

  • App Educacional (gui_app.py): Documentar a arquitetura de alto nível da interface em PyQt. Explicar como ela integra as frentes do projeto, servindo de painel de controle para os alunos acessarem os roteiros de laboratório, dispararem compilações e fazerem upload de binários sem precisar tocar no terminal.
  • Ferramenta de Depuração (debugger.py): Documentar a API de controle do host. Explicar como este script constrói os pacotes binários exatos de Halt, Resume e Leitura de Memória que o Controlador de Depuração em hardware (debug_controller.vhd) espera receber para inspecionar o núcleo.

📁 Arquivos Fonte Alvo (Para Leitura e Base Técnica)

Ferramentas de IA (Envio de Matrizes/Pesos):

  • tools/iris_client.py
  • tools/mnist_client.py
  • tools/fc_client.py

Controle, GUI e Depuração:

  • tools/gui_app.py
  • tools/debugger.py

⚠️ Notas de Rigor e Qualidade

  • A documentação deve ser redigida no formato .md para integração com o MkDocs.
  • Rigor em Sistemas Distribuídos: O texto não deve focar em ensinar a sintaxe da linguagem Python ou o funcionamento básico da biblioteca PyQt. O foco absoluto deve ser a "fronteira cibernética": explique as regras de sincronização, formatação de payloads e temporização necessárias para que um PC veloz (GHz) converse perfeitamente com uma FPGA operando em uma frequência menor (MHz).

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationsoftware

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions