Cada microprocessador é construído sobre uma arquitetura de conjunto de instruções (ISA), que define as funções de alto nível usadas para executar operações de computação com dados digitais. Uma ISA é um dos componentes centrais de uma CPU que define como o software se comunicará com o hardware. Basicamente, define comandos de uma maneira que uma máquina pode entender e normalmente inclui instruções para operações de memória, manipulação de dados, operações aritméticas, operações lógicas e operações de controle de fluxo. Uma ISA também define como as instruções são armazenadas, codificadas e acessadas.
As ISAs dominantes nas últimas duas décadas foram x86, x64 e ARM, todas as quais impulsionaram a adoção de computação pessoal e embutida aos níveis que vemos hoje. Enquanto ARM está entre as arquiteturas de processo mais usadas, um novo concorrente de código aberto está sendo abraçado pela indústria de semicondutores. Esta arquitetura alternativa é RISC-V (pronuncia-se “risco cinco”), e foi abraçada pela comunidade de código aberto e fornecedores de semicondutores como uma alternativa às arquiteturas ARM e x86/x64.
Embora não esperemos que as arquiteturas x86/x64 da Intel ou ARM desapareçam tão cedo, RISC-V oferece uma alternativa de código aberto convincente. Agora, alguns fornecedores de semicondutores estão apoiando implementações de RISC-V em seus FPGAs, e a comunidade de código aberto respondeu com uma onda de IP de fornecedores e bibliotecas para ajudar a acelerar o desenvolvimento. Neste artigo, vamos olhar para alguns dos produtos mais recentes baseados em RISC-V lançados no mercado por fornecedores de semicondutores.
A ISA RISC-V é uma ISA de código aberto que pode ser usada para definir as manipulações de dados digitais de baixo nível que são implementadas em um núcleo de microprocessador. A especificação usa um conjunto de 49 instruções que são compatíveis com implementações de hardware de 32 bits. A largura da palavra pode ser usada em 64 bits com um conjunto de 14 instruções de extensão, ou até 128 bits (em teoria). Como uma especificação de código aberto, o conjunto de instruções primário e as extensões opcionais podem ser personalizadas, removidas ou totalmente reescritas para fornecer uma arquitetura de processador personalizada ou altamente especificada para uso em novos chips.
Desde que o desenvolvimento do RISC-V começou em 2010 (no Par Lab de Berkeley), os criadores do RISC-V foram além e iniciaram a SiFive, uma empresa de IP de núcleo de processador. A empresa forneceu a primeira arquitetura de núcleo de processador totalmente de código aberto construída sobre RISC-V. A arquitetura pode ser usada como a especificação base para projetar uma arquitetura de lógica digital que implementa a ISA RISC-V e quaisquer funções adicionais do usuário.
Construir um processador de aplicação personalizado em RISC-V oferece aos desenvolvedores um excelente caminho para construir um novo processador em silício personalizado, ou construir um processador reconfigurável em um FPGA. O desenvolvimento lógico com RISC-V em um FPGA traz seus próprios benefícios graças à personalização e reconfigurabilidade das plataformas FPGA, bem como sua alta densidade de computação. Para aplicações embarcadas que requerem mais do que um RTOS, núcleos RISC-V podem ser portados para suportar distribuições Linux.
Desenvolvedores RISC-V podem usar o conjunto de instruções e sua implementação de hardware de duas maneiras possíveis: para desenvolver designs lógicos personalizados em um novo design de chip, ou para implementar lógica especializada em um FPGA. A indústria está apenas começando a usar RISC-V como uma arquitetura central para designs de microcontroladores, mas esses componentes não estão disponíveis em escala.
Atualmente, a gama de processadores comercialmente disponíveis que podem suportar RISC-V é limitada a FPGAs, onde RISC-V é suportado com IP do fornecedor. Por enquanto, construir em um FPGA é uma excelente opção para desenvolvedores de sistemas, tanto do ponto de vista de prototipagem quanto em termos de projetar hardware específico de aplicação personalizado que é fortemente otimizado para cargas de trabalho de computação intensiva.
A plataforma PolarFire da Microchip é a plataforma FPGA baseada em RISC-V de destaque da empresa, onde uma peça de processador pronta é construída diretamente a partir do tecido de interconexão FPGA. A linha de produtos PolarFire abrange múltiplos componentes e números de peça, todos visando o menor consumo de energia com alta densidade de computação em aplicações embarcadas. Este FPGA SoC pode ser fortemente personalizado usando o Libero SoC Design Suite, e o IP central está disponível para uso na plataforma PolarFire. Em termos de capacidades de hardware, o sistema pode suportar transceptores de 12.7 Gbps e PCIe 2 I/O.
Efinix é um fornecedor de semicondutores menor, mas eles adotaram RISC-V em seu IP de fornecedor com dois produtos SoC para os produtos Trion e Titanium.
Sapphire SoC - Esta implementação RISC-V é uma instanciação configurável pelo usuário com um controlador de memória opcional (DDR ou HyperRAM) e múltiplas interfaces (até 32 GPIOs, 3 mestres I2C, 3 mestres SPI e 3 UARTs) integradas ao núcleo do dispositivo.
Edge Vision SoC - Esta biblioteca é destinada a aplicações de visão embarcada e inclui interfaces padrão para sistemas nesta área de aplicação. Funções adicionais do usuário, como blocos DSP especializados ou manipulação de dados, podem ser adicionadas a este IP com ferramentas de desenvolvimento.
Produtos de desenvolvimento estão disponíveis para ambas as linhas de produtos para ajudar os usuários a começar com uma nova plataforma, como o Trion T20 MIPI D-PHY/CSI-2 Dev Kit para aplicações de visão.
A Bluespec Inc., parceira oficial de desenvolvimento da Xilinx, agora suporta implementações de núcleos RISC-V de 32 bits em FPGAs da Xilinx. Este SoC IP visa aplicações que requerem um único núcleo de processador executando Linux em um FPGA. O RISC-V RV32IMAC SCL suporta as Instruções Básicas de Inteiros RISC-V (I), Multiplicação e Divisão de Inteiros (M), Atômicas (A) e Instruções Comprimidas (C), instruções de ponto flutuante Simples e Duplo (FD). Os usuários podem implementar o Bluespec RISC-V 32IM core IP em FPGAs da Xilinx usando o conjunto padrão de ferramentas de desenvolvimento no IDE Vivado.
A vantagem de usar hardware de um grande fornecedor como a Xilinx é o nível de suporte open-source e produtos de desenvolvimento disponíveis para construir uma aplicação embarcada. O amplo portfólio de IP da Xilinx pode ser usado ao lado da arquitetura lógica central definida em RSIC-V para construir uma implementação de hardware personalizada. Como um exemplo, o core IP Freedom E310 da SiFive pode ser programado na plataforma de desenvolvimento Arty A7 da Digitlent usando o Arduino IDE.
Outras empresas fizeram anúncios recentes de produtos sobre o uso de núcleos RISC-V em novos produtos semicondutores. Esses produtos pretendem ser algo mais próximo de processadores de aplicação que ainda oferecem alguma programabilidade de propósito geral por meio de uma aplicação embarcada. Alguns dos anúncios de produtos recentes incluem:
Produtos Específicos de Aplicação Renesas (ASSPs), uma linha de produtos baseados em RISC-V destinados a mesclar processamento de propósito geral com especificidade de aplicação.
Picocom PC802 SoC 5G NR, um processador específico de aplicação para pequenas células 5G NR que se interfaceia com unidades de rádio via O-RAN Open Fronthaul eCPRI ou JESD204B.
A Intel agora suportará RISC-V por meio de sua nova divisão de serviços de fundição, permitindo que empresas fabless criem designs compatíveis com as capacidades de processamento de silício da Intel.
O próximo chip acelerador de IA baseado em RISC-V da Kneron pretende trazer autonomia para carros sem motorista, suportando sistemas ADAS de Nível 1 e 2 ADAS.
O design de chips é uma disciplina desafiadora, mas usar um conjunto de instruções open-source como RISC-V como uma estrutura de desenvolvimento é uma ótima maneira de acelerar o design da arquitetura de chips. O desafio para um projetista lógico é criar os circuitos lógicos que representam as instruções definidas na especificação RISC-V. Para um microcontrolador ou MPU, isso é uma grande tarefa e requer muita experiência; não é algo que um projetista faria tipicamente sozinho.
Contudo, para um FPGA, existem muitas implementações RISC-V que podem ser usadas para construir rapidamente uma arquitetura altamente extensível que incorpora funções personalizadas do usuário. Isso é algo em que as ferramentas dos fornecedores e a comunidade de código aberto dedicaram um tempo significativo para construir, e agora existem muitos núcleos RISC-V que podem ser usados no desenvolvimento de FPGA. Para começar, dê uma olhada em alguns destes repositórios do GitHub:
Esta é apenas uma pequena seção do que está disponível, existem muitos mais repositórios de código aberto que você encontrará no GitHub que são úteis com uma variedade de FPGAs. Além disso, para qualquer desenvolvedor de FPGA interessado em construir sobre o ISA, a RISC-V International lançou um Programa de Parceiros de Treinamento RISC-V. Os desenvolvedores podem obter uma maior compreensão dos benefícios da cooperação aberta e expandir seu conhecimento sobre RISC-V.
A grande parte da arquitetura RISC-V é que ela pode ser modificada e vendida no mercado aberto. Startups de semicondutores fabless estão agora fornecendo seu IP central baseado no ISA RISC-V para licença a outras empresas sob um modelo de negócios semelhante ao da ARM. Da mesma forma, empresas estão disponibilizando seu IP de fornecedor para compra e uso em FPGAs de grandes fabricantes de semicondutores. À medida que esses componentes baseados em RISC-V chegam ao mercado, podemos esperar que eles ofereçam altos níveis de especificidade para aplicações avançadas.
Quando você estiver pronto para começar a selecionar seu FPGA, SoC programável e outros componentes para seu novo sistema, certifique-se de usar os recursos avançados de busca e filtragem no Octopart para encontrar todos os componentes avançados que precisam para designs avançados. Quando você usa o motor de busca de eletrônicos do Octopart, você terá acesso a dados atualizados de preços de distribuidores, inventário de peças e especificações de peças, e tudo isso é livremente acessível em uma interface amigável. Dê uma olhada na nossa página de circuitos integrados para encontrar os componentes de que precisa.
Mantenha-se atualizado com nossos últimos artigos ao inscrever-se em nossa newsletter.