Design da PCB quase completo. Preparativos para a próxima campanha almejando protótipos funcionais

A campanha almejando as fast bus simulations está quase concluída. Receberemos o design final da PCB antes do fim de 2020. Assim que o recebermos, ele será publicado no nosso Git. Abaixo, a screenshot do design da PCB em progresso:

Nossa placa-mãe PowerPC no Mentor Xpedition

Como temos feito até agora, a nossa próxima campanha de arrecadação para a produção dos 5 protótipos começará assim que a atual se finalizar. Em coordenação com a ACube Systems, estabelecemos um valor de 10.500 Euros para os protótipos, e esperamos entregá-los durante a primavera de 2021.

Freedesktop-sdk para PPC64 Big Endian compilado!

Modificamos o freedesktop-sdk para compilar perfeitamente no PPC64. Estamos coordenando com o time Freedesktop para incluir nossas modificações no repositório principal.

Compilamos com sucesso os 432 pacotes, envolvendo inclusive a última versão do go lang.

Agradecemos ao laboratório Open Source OSU e à fundação OpenPOWER por fornecer-nos acesso à uma VM Power9 com 8 cores e 16GB de RAM para que pudéssemos compilar o Freedesktop-sdk para PPC64.

Agora graças à OpenPOWER@UNICAMP, temos acesso a uma VM Power8 para recompilar o freedesktop-sdk integrado continuamente ao pipeline do gitlab do freedesktop.

Com o Flatpak e o Freedesktop-sdk rodando no Debian 10 PPC64 Big Endian, estamos um passo mais próximos de ver os pacotes flatpak preparados para PPC64.

SFScon 2020: abordagem concreta de open hardware para a década de 2020

Neste ano, a IBM lançou o núcleo de processador POWER A2I e ambiente FPGA agregado. Em 2019, a IBM abriu o ISA POWER. A comunidade Power Progress lançou a placa de circuitos impressos da placa-mãe de um notebook baseado na arquitetura Power com uma licença de código aberto do CERN. O Libre-SOC é um projeto de software-hardware que tem por meta desenvolver um SOC POWER com CPU, GPU, VPU e controlador DDR.

Nosso discurso na cimeira Open Source. Mais 15 dias para doar os 2600 euros restantes.

This image has an empty alt attribute; its file name is Notebook_PPC_Board_Layout_alpha-1024x482.png
O design da nossa placa-mãe PPC64

Nossa licença Open Hardware e sugestões para endianness na OSS 2020

Falamos sobre a licença CERN para Open Hardware e endianness na cimeira Open Source + Linux Embedded na Europa, no dia 27 de outubro de 2020.

Licença CERN para Open Hardware

Por que não usar uma licença para software como a GPL?
Licenças para hardware são específicas, portanto são escritas com a nomenclatura apropriada: fabricante, dispositivos, CAD, etc..

Por que escolhemos a licença CERN para Open Hardware v1.2?
Achamos que oferece uma proteção melhor para quem recebe uma licença quando comparada com outras licenças para hardware como a TAPR.

Quem recebe e quem fornece a licença?
No nosso projeto, nós (comunidade Power Progress) recebemos a licença e o licenciador é o fabricante do hardware.

O licenciador pode fabricar e distribuir produtos?
O licenciador pode modificar nosso trabalho, mas essas modificações precisam ser disponibilizadas sob a mesma licença, ou licença equivalente.

Como somos protegidos?
O licenciador é responsável pelo hardware e sua qualidade.

Outras notas importantes
– Firmware, drivers e outro software precisam de suas próprias licenças.
– A propriedade intelectual é nossa.
– A documentação precisa ser fornecida no formato correto para que possa ser livremente modificada (usando uma ferramenta CAD).

Endianness

O que é endianness?

É a maneira com que dados são ordenados na memória de um computador.
Afeta números inteiros que sejam maiores que 1 byte.
Pode ser um problema quando arquiteturas diferentes compartilham informação.
É um dos problemas principais que um desenvolvedor de software precisa ter em mente quando escreve software portátil.

Endianness na memória: Big Endian

Os dados são lidos da esquerda para a direita.
O byte mais significante fica na esquerda.
A palavra no endereço 0x101 é:
0x0203 = 515
A palavra dupla no endereço 0x100 é:
0x01020304 = 16909060

Endianness na memória: Little Endian

Os dados são lidos da direita para a esquerda.
O byte mais importante fica na direita.
A palavra no endereço 0x101 é:
0x0302 = 770
A palavra dupla no endereço 0x100 é:
0x04030201 = 67305985

Conversão de endianness

Existem dois metódos para trocar endianness: manual e automático.

Troca manual

16 bit unsigned swap:
swapped = (num>>8) | (num<<8);

32 bit unsigned swap:
swapped = ((num>>24)&0xff) | // move byte 3 to byte 0
((num<<8)&0xff0000) | // move byte 1 to byte 2 ((num>>8)&0xff00) | // move byte 2 to byte 1
((num<<24)&0xff000000); // byte 0 to byte 3

There are ready-to-use functions that have the same behaviour:
bswap_16(x);
bswap_32(x);
bswap_64(x);

Detecção de arquitetura

Trocas manuais devem ser evitadas. Conhecimento da arquitetura em questão é importante. A arquitetura deve ser detectada e casos específicos implementados, senão o código não será independente de plataformas.

#if __BYTE_ORDER == __LITTLE_ENDIAN
<LITTLE ENDIAN SWAP DEFINITION>
#elif __BYTE_ORDER == __BIG_ENDIAN
<BIG ENDIAN SWAP DEFINITION>
#end

Por exemplo, se o programa requisita uma função little endian em uma plataforma little endian, a função retornará os dados como estão. Em caso contrário, um procedimento de troca será executado.

Conversão de funções

POSIX tem ferramentas úteis para a conversão de endianness chamadas de host-to-network e de network-to-host:

#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

Estas funções são executadas sempre que você precisa lidar com um problema de endianness. Tenha em mente que network order é “byte mais significante primeiro”, ou seja, Big Endian.

Existem outras funções para conversão little/big endian. Elas não são padrão, mas são muito úteis:

#include <endian.h>

uint16_t htobe16(uint16_t host_16bits);
uint16_t htole16(uint16_t host_16bits);
uint16_t be16toh(uint16_t big_endian_16bits);
uint16_t le16toh(uint16_t little_endian_16bits);

uint32_t htobe32(uint32_t host_32bits);
uint32_t htole32(uint32_t host_32bits);
uint32_t be32toh(uint32_t big_endian_32bits);
uint32_t le32toh(uint32_t little_endian_32bits);

uint64_t htobe64(uint64_t host_64bits);
uint64_t htole64(uint64_t host_64bits);
uint64_t be64toh(uint64_t big_endian_64bits);
uint64_t le64toh(uint64_t little_endian_64bits);

Eureca! O layout da nossa placa! Mais 15 dias para doar – faltam só 3660 euros.

Temos o prazer de compartilhar com todos os nossos doadores e acompanhantes o design da placa-mãe do nosso notebook PPC64!

O design da nossa placa tem a intenção de ser compatível com o chassis do Slimbook Eclipse. Esse design está sendo feito usando o Mentor Xpedition.

Em setembro de 2020, publicamos o arquivo-fonte Orcad da versão 0.6 do diagrama elétrico no nosso repositório Gitlab. Você pode analisar nossa placa mais a fundo usando o arquivo Orcad.

This image has an empty alt attribute; its file name is PPC_NOTEBOOK_PCB_board_layout_notes_TOP-527x1024.jpg
Vista superior do layout da placa-mãe do notebook PowerPC
This image has an empty alt attribute; its file name is PPC_NOTEBOOK_PCB_board_layout_notes_BOTTOM-533x1024.jpg
Vista inferior do layout da placa-mãe do notebook PowerPC

O prazo estimado de entrega da fase 1B é o dia 2 de novembro. Temos duas semanas para doar os 3660 euros restantes. Se atingirmos a meta, a simulação do bus SI deve ficar pronta até o fim de novembro.

Nesse caso, em dezembro de 2020 trabalharemos na produção dos protótipos na campanha de arrecadação para os mesmos.

Precisamos batizar nossa placa. Sugestões ainda abertas no nosso fórum.

Análise da integridade do sinal do design da PCB

No dia 8 de setembro de 2020, atingimos a nossa meta de arrecadar a quantia necessária para completar o design da nossa placa de círcuito impressa (Open Hardware PCB). Agradecemos a todos!

Nos últimos 9 dias, recebemos mais de 2000 euros.
Isso nos permitiu atingir a meta 7 dias antes do prazo. Uma maravilha!

Gerd Altmann da Pixabay

A fase 1B da campanha tem como meta as “Fast SI bus simulations”. Em outras palavras, pagará por uma analise profunda da integridade dos sinais da PCB que foi produzida na fase anterior da campanha. Começamos os testes logo após concluir a arrecadação.

O design da PCB, projetada com o Mentor Xpedition, será publicada aqui em breve. Um primeiro rascunho público deverá estar pronto até o fim de setembro.

Após a análise profunda da integridade dos sinais estiver pronta, graças à campanha de arrecadação atual, publicaremos uma versão atualizada da PCB.

Nosso discurso na cimeira OpenPOWER – 15 de setembro de 2020

No dia 15 de setembro de 2020, na cimeira OpenPOWER NA, haverá muitas palestras e projetos. Nossa apresentação será às 5:35 da tarde (CET).

Há cerca de 6 anos, começamos como um grupo de entusiastas do FOSS, PowerPC e hardware aberto, começando a trabalhar no projeto do notebook PowerPC, com hardware aberto rodando o GNU/Linux. Tínhamos pouco dinheiro e habilidade. Mas o nosso entusiasmo e motivação nos levaram a atingir o estágio de fabricação da placa-mãe. Finalmente, neste ano, conseguimos com sucesso projetar a PCB com a ajuda de colaboradores e fundos limitados. Encontramos muitos desafios nesse processo. Mesmo que processadores PowerPC estejam no mercado já há duas décadas, implementar as versões atuais em laptops é muito difícil comercialmente. A performance no modo Big Endian é melhor. Mas, neste modo, muitos softwares precisam ser modificados. No futuro, planejamos atualizar nosso design para as versões mais atuais do processador. Com mais colaboradores, seria possível projetar placas menores e mais baratas.

Mais 15 dias para doar – faltam só 2000 euros

Graças às doações já recebidas, o trabalho para projetar a PCB pode continuar. Estimamos completá-lo até o fim de setembro de 2020. A data de publicação do design da PCB vai depender muito dos resultados das revisões internas assim que recebermos o primeiro rascunho. Esperamos que não demore. O design da PCB deve caber no chassis do Slimbook Eclipse.

This image has an empty alt attribute; its file name is archery-660632_1280-1024x659.jpg
Créditos: skeeze from Pixabay

Como não conseguimos atingir a nossa meta em agosto, precisamos adiar a meta da fase 1A da campanha até o dia 15 de setembro de 2020.

Pedimos a todos que foquem suas doações antes do dia 15 de setembro, para que possamos garantir o fim da fase 1A sem mais atrasos.

O plano é entregar o design da PCB com o fim da fase 1A, e logo após iniciar a fase 1B (fast SI bus simulations) no dia 16 de setembro com uma meta de 5000 Euros (cerca de 5600 dólares). Consequentemente, não haverá interrupção na campanha de arrecadação, passando automaticamente da fase 1A para a fase 1B.

Design do PCB em agosto

Albrecht Fietz da Pixabay

O design da placa de circuitos impressos está progredindo mesmo com as férias na Itália. A ACube Systems conseguiu envolver uma empresa de engenharia disponível em agosto para desenvolver a PCB baseada nos diagramas elétricos. Tarefa difícil por causa das férias.

Além disso, a Slimbook forneceu mais partes do diagrama para rever a conexão da placa-mãe à placa de entrada e saída nativa da Eclipse. Confirmamos, pois, o prazo de entrega do design do PCB como sendo o fim de setembro de 2020.

Entrevista com o Riccardo Mottola, contribuidor principal do browser ArcticFox

No site da nossa associação PowerProgress, publicamos uma entrevista com Riccardo Mottola, o programador mais ativo do browser mais avançado para a plataforma PowerPC big endian:

O browser ArcticFox 27.10.2 (beta) para PPC64 está disponível na nossa repo.

ArcticFox 27.10.2 beta PPC64 rodando no Debian PPC64 em um G5

Freedesktop para big endian – 350 pacotes de um total de 470 portados para o PPC64 big endian

Outro passo adiante para o freedesktop-sdk no ppc64 big endian: libvpx e nss estão prontos.

Sugira um nome para a placa-mãe PowerPC do nosso notebook

É hora de batizar nossa placa-mãe! Já temos sugestões no nosso fórum. Faça a sua!

Maior prazo para doações – PCB pronta em setembro de 2020

CC BY-NC-ND 2.0 www.flickr.com aicomputin

As doações vão bem e já atingimos 71% da nossa meta.

Muito obrigado a todos os doadores!

Nova versão do diagrama elétrico

Já recebemos uma nova versão do diagrama elétrico (v0.5), que com capacidade para potências maiores (até 90W) para poder aceitar placas de vídeo MXM3 de maior potência (até 55W) como, por exemplo, a AMD Radeon E9174 (GCN 4.0), com TDP de 50W.

Diagrama elétrico 0.5 de junho de 2020

Publicaremos esta nova versão em breve em nosso repositório assim que terminarmos uma rodada interna de revisões com a ajuda da ACube Systems.

Graças às doações que já recebemos, o trabalho de design da placa de circuitos impressos (feita com Mentor Pads) pode prosseguir. Estimamos que será completo até setembro de 2020. É um momento inoportuno, já que agosto é um mês de férias na Itália, mas faremos o nosso melhor para evitar interrupções. A data de publicação do PCB vai depender de quando receberemos os resultados das revisões que, esperamos, não demorarão muito. O design do PCB cabe no chassis Slimbook Eclipse.

 

Slimbook Eclipse Notebook

Exportaremos o design elétrico Orca até no formato EDIF, para facilitar a vida de novos voluntários que desejarem convertê-lo para o formato Kicad. Para converter de EDIF para Kicad, encontramos as ferramentos edif2kicad, mas temos certeza que vocês encontrarão outras ferramentas ou até criarão novas.

Caso você seja capaz de converter nossos PCB Mentor Pads to Kicad, seja bem-vindo. Se tiver problemas, contate-nos e ajudaremos com prazer.

Maior prazo para doações

Após uma discussão interna, decidimos extender o prazo final para a fase 1A da campanha até o dia 30 de julho de 2020.

A ideia é entregar o design da PCB com o fim da fase 1A, e logo depois iniciar a fase 1B (fast SI bus simulations), com uma meta de 5000 Euros (cerca de 5600 dólares). Consequentemente, não haverá interrupção na campanha, com a fase 1B iniciando-se automaticamente.

Pedimos a gentileza de todos os colaboradores, amigos e doadores para concentrar suas doações antes do dia 30 de julho, para que terminemos a fase 1A sem mais atrasos.

Também pedimos a todos os tecnicamente hábeis que contate-nos caso possam ajudar a rever o design do hardware. Isso aceleraria o processo e ajudaria a melhorar a qualidade final do nosso produto.

Você pode doar de qualquer país graças ao Stripe Payment Gateway

Doadores potenciais de países como o Líbano e a China não podiam ou enfrentavam sérias dificuldades para contribuir via transferência bancária ou PayPal. O problema foi resolvido graças à adição do Stripe Gateway à lista de meios de pagamento aceitos. Eles nos deram um desconto nas taxas por sermos uma entidade sem fins lucrativos, com uma comissão de 1,2%+0,25 Euro para pagamentos feitos de dentro da União Europeia e 2,9%+0,25 Euro para pagamentos feitos de outros países.