Open Hardware: OpenCores

OpenCores

Muito se fala do já difundido open source software (OSS), foi e é uma verdadeira revolução na indústria possibilitando que muitas pessoas construam software em conjunto, como por exemplo, claro temos o Linux criado pelo Linus Torvalds e desenvolvido em conjunto por muita gente.

 

Na parte de hardware, o conceito de "Open Source Hardware" acabou sendo feito por entidades diferentes das de software livre. Nem a Free Software Foundation e nem a Open Source Initiative estão por trás dele. Ao invés disso, a iniciativa "canônica" da definição veio da "Open Source Hardware Association" espelhada também da freedomdefined.org. Por conta da definição de Open Source Hardware ser um pouco mais "frouxa", temos projetos com características diferentes enquadrados como OSHWA.

 

Temos iniciativas já conhecidas como a beaglebone. beaglebone black e o arduino, dentre outras. Nessas iniciativas são disponibilizados os esquemáticos, arquivo de layout da placa (PCB), lista de materiais (BOM), dentre outros arquivos para que o consumidor possa, se quiser, reproduzir a placa e vender ele mesmo ou para o hobbysta estudar os componentes. Mas não é disponibilizada a descrição de hardware do processador para que o consumidor possa, se quiser, produzir um processador com a mesma funcionalidade ou estudar o comportamento interno do processador. Podemos dizer que não é 100% Open Source Hardware.

 

Em contra partida temos a descrição do hardware aberta! O OpenCores disponibiliza projetos com os IPs (Propriedades intelectuais) de códigos fontes abertos e revisados pela comunidade. Podemos ver, por exemplo, como funciona internamente um processador MIPS, sintetizar no nosso FPGA, compilar um código fonte para ele e piscar uns LEDs. É a visão do chip para dentro aberta a todos.

 

 

usercontent,img,1238001458
Arquitetura MIPS

 

Existem diversos projetos de código aberto disponibilizados no opencores, estes projetos poupam muito tempo de desenvolvimento e servem de aprendizado para os hobbystas, temos módulos de processamento de sinais como FFTs, controladores de memória, RS232, RS485, controladores de SDCard, processadores como o z80, MSP430 dentre outros.

 

Como caso pessoal, já utilizei o core z80 deste site em um produto. A empresa contratante tinha um software certificado que funcionava há muitos anos, mas precisava de uma nova placa para se adequar às novas tecnologias. Para não necessitar o desenvolvimento/certificação de um novo código fonte, foi portado o z80 para o FPGA e carregado o .hex compilado há muitos anos na ROM do FPGA. As novas interfaces foram todas desenvolvidas no FPGA.

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

3
Deixe um comentário

avatar
 
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
João Paulo MartinsNovidades no Embarcados – Android, C, Sistemas digitais e FPGA. – André CastelanNovos posts no Embarcados – Andre Castelan Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
João Paulo Martins
Visitante
João Paulo Scalão Martins

Excelente tema, André. Para complementar, gostaria de dizer que existe uma iniciativa do CERN na área de hardware aberto, que é o Open Hardware Repository. A ideia é essencialmente a mesma do Open Software, os projetos são abertos e feitos em conjunto com a comunidade. A maioria dos projetos são aplicações para aceleradores de partículas, mas consistem em uma base muito grande de conhecimentos em eletrônica embarcada. O site da iniciativa é este aqui: http://www.ohwr.org

Abraços!

trackback

[...] Open Hardware no OpenCores [...]

trackback

[...] Dois mil processadores ou um FPGA?VHDL Básico, parte 2 – ArquiteturaOpen source hardware no Opencores [...]