Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. FPGAs 2ª edição especial Intel® por Andrew Moore com Ron Wilson, editor-chefe, Intel ® Programável Intel ® Programável Intel ® Programável Grupo de Soluções Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. FPGAs For Dummies ®, 2nd Intel ® Edição especialFPGAs For Dummies ®, 2nd Intel ® Edição especialFPGAs For Dummies ®, 2nd Intel ® Edição especialFPGAs For Dummies ®, 2nd Intel ® Edição especialFPGAs For Dummies ®, 2nd Intel ® Edição especial Publicado por John Wiley & Sons, Inc. Empresas 111 River St. Hoboken, NJ 07030-5774 www.wiley.com Copyright © 2017 por John Wiley & Sons, Inc., Hoboken, Nova Jersey Nenhuma parte desta publicação pode ser reproduzida, armazenada em um sistema de recuperação ou transmitida de qualquer forma ou por qualquer meio, eletrônico, mecânico, fotocópia, gravação, digitalização ou de outra forma, exceto conforme permitido nas Seções 107 ou 108 das leis dos Estados Unidos de 1976. Agir, sem a permissão prévia por escrito do Publicador. Os pedidos de permissão ao Publicador devem ser endereçados ao Departamento de Permissões, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008 ou online em http://www.wiley.com/go/permissions.(201) 748-6011, fax (201) 748-6008 ou online em http://www.wiley.com/go/permissions. Marcas comerciais: Wiley, For Dummies, o logotipo Dummies Man, The Dummies Way, Dummies.com, Making Everything Easyier e roupas Marcas comerciais: Wiley, For Dummies, o logotipo Dummies Man, The Dummies Way, Dummies.com, Making Everything Easyier e roupas relacionadas são marcas comerciais ou marcas registradas da John Wiley & Sons, Inc. e / ou de suas afiliadas nos Estados Unidos e em outros países países e não pode ser usado sem permissão por escrito. Intel e o logotipo Intel são marcas comerciais ou marcas registradas da Intel Corporation. OpenCL e o logotipo OpenCL são marcas comerciais da Apple Inc. e usadas com permissão da Khronos. Todas as outras marcas comerciais são de propriedade de seus respectivos proprietários. John Wiley & Sons, Inc., não está associado a nenhum produto ou fornecedor mencionado neste livro. LIMITE DE RESPONSABILIDADE / ISENÇÃO DE GARANTIA: O EDITOR E O AUTOR NÃO FAZEM REPRESENTAÇÕES OU GARANTIAS RELATIVAS À EXATIDÃO OU COMPLETO DO CONTEÚDO DESTA OBRA E ESPECIFICAMENTE ISENTA DE TODAS AS GARANTIAS, INCLUINDO SEM GARANTIAS DE LIMITAÇÃO. NENHUMA GARANTIA PODE SER CRIADA OU ESTENDIDA POR VENDAS OU MATERIAIS PROMOCIONAIS. O CONSELHO E ESTRATÉGIAS CONTIDAS AQUI NÃO PODEM SER ADEQUADAS A CADA SITUAÇÃO. ESTE TRABALHO É VENDIDO COM O ENTENDIMENTO DE QUE O EDITOR NÃO ESTÁ ENVOLVIDO NA PRESTAÇÃO DE SERVIÇOS LEGAIS, CONTÁBEIS OU OUTROS SERVIÇOS PROFISSIONAIS. SE É NECESSÁRIA A ASSISTÊNCIA PROFISSIONAL, OS SERVIÇOS DE UMA PESSOA PROFISSIONAL COMPETENTE DEVERÃO SER SUJEITOS. NEM O EDITOR OU O AUTOR SERÃO RESPONSÁVEIS PELOS DANOS DECORRENTES AQUI. O fato de uma organização ou site ser referido neste trabalho como uma citação e / ou uma fonte potencial de outras informações não significa que o autor ou o editor aprova as informações que a organização ou o site pode fornecer ou recomendações. Além disso, os leitores devem estar cientes de que os sites da Internet listados neste trabalho podem ter sido alterados ou desaparecidos entre o momento em que esse trabalho foi escrito e quando foi lido. Para obter informações gerais sobre nossos outros produtos e serviços ou sobre como criar um Para LeigosPara obter informações gerais sobre nossos outros produtos e serviços ou sobre como criar um Para Leigos livro para sua empresa ou organização, entre em contato com nosso Departamento de Desenvolvimento de Negócios no EUA em 877-409-4177, entre em contato info@dummies.biz , ou visite www.wiley.com/go/custompub. Para obter informações sobre o EUA em 877-409-4177, entre em contato info@dummies.biz , ou visite www.wiley.com/go/custompub. Para obter informações sobre o EUA em 877-409-4177, entre em contato info@dummies.biz , ou visite www.wiley.com/go/custompub. Para obter informações sobre o EUA em 877-409-4177, entre em contato info@dummies.biz , ou visite www.wiley.com/go/custompub. Para obter informações sobre o EUA em 877-409-4177, entre em contato info@dummies.biz , ou visite www.wiley.com/go/custompub. Para obter informações sobre o licenciamento do Para Leigos marca de produtos ou serviços, entre em contato licenciamento do Para Leigos marca de produtos ou serviços, entre em contato licenciamento do Para Leigos marca de produtos ou serviços, entre em contato Direitos de marca e licenças@Wiley.com. ISBN: 978-1-119-39047-3 (pbk); ISBN: 978-1-119-39049-7 (ebk) Fabricado nos Estados Unidos da América 10 9 8 7 6 5 4 3 2 1 Editor do Projeto: Jennifer BinghamEditor do Projeto: Jennifer Bingham Editor de aquisições: Katie MohrEditor de aquisições: Katie Mohr Gerente Editorial: Rev MengleGerente Editorial: Rev Mengle Representante de Desenvolvimento de Negócios: Karen HattanRepresentante de Desenvolvimento de Negócios: Karen Hattan Coordenador de projeto: Magesh ElangovanCoordenador de projeto: Magesh Elangovan Ajuda especial: Um grande número de colaboradores da Intel CorporationAjuda especial: Um grande número de colaboradores da Intel Corporation Agradecimentos do editor Algumas das pessoas que ajudaram a lançar este livro no mercado incluem o seguinte: mailto:BrandedRights&Licenses@Wiley.com Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Índice Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 Sobre este livro ............................................... ......................... 1 Ícones usados neste livro ............................................. ............... 1 Além do Livro ............................................... ......................... 2 Capítulo 1: FPGAs para todos. . . . . . . . . . . . . . . . . . . . . . 3 Então, por que você precisaria de um FPGA? ......................... 4 Examinando um FPGA ............................................... ..................... 6 Os blocos de construção de um FPGA ....................................... 6 Explicando os FPGAs de maneira criativa ........................................... 8 Brinquedos de blocos de construção ............................................... ........... 9 Comparando FPGAs e ASICs .............................................. .... 10 Custos e flexibilidade ............................................... ........ 10 Redução do risco de tempo de projeto versus velocidade ................... 10 Os FPGAs são surpreendentemente fáceis de usar ....................................... 11 IP rígido ................................................ ............................. 11 Operação paralela e redução de pedidos ...................... 12 Capítulo 2: O que há em um FPGA, afinal? . . . . . . . . . . . . . 13 Informações básicas - Tecido programável e E / S ....................... 13 Escalando para cima ................................................ ......................... 16 IP rígido e CPUs integradas ............................................. ..... 17 Fluxo de Design Moderno de FPGAs ............................................. .. 17 Criando um diagrama de blocos funcional ........................... 18 Substituindo blocos funcionais por IP existente .............. 20 Codificando os blocos ausentes ........................................... 21 Verificando o design do sistema .................................... 23 Mapeando o sistema parao hardware FPGA ........... 23 Experimentando o design no sistema ............................ 24 Capítulo 3: FPGAs como sistemas. . . . . . . . . . . . . . . . . . . . . . 25 FPGAs no Projeto do Sistema .............................................. ............ 25 Sistemas eletrônicos automotivos com FPGAs ...................... 27 Transmissão ................................................. ....................... 28 Infotainment ................................................. .................. 28 Assistência ao motorista ................................................ ........... 29 Importância dos FPGAs ............................................... ...... 29 iv FPGAs para manequins, 2ª edição especial da Intel iv FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Capítulo 4: O Futuro: Heterogêneo Computação e OpenCL. . . . . . . . . . . . . . . . . . . . . . . . . 31 Computação Heterogênea ................................................ ..... 31 Por que usar o OpenCL em FPGAs? .................................................. 32. Capítulo 5: Cinco aplicações de FPGAs. . . . . . . . . . . . . . 35 Controle de Motor de Dispositivo Único ............................................. ...... 35 Radiodifusão televisiva ................................................ .......... 37 Dados sem fio ................................................ ............................ 37 Câmeras de assistência ao motorista automotivo ........................... 39 Computação de alto desempenho .............................................. .. 40 Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Introdução F arranjos de portas programáveis (FPGAs) são circuitos integradosF arranjos de portas programáveis (FPGAs) são circuitos integradoscuits que permitem aos projetistas programar lógica digital personalizada em campo. Os FPGAs existem desde a década de 1980 e foram originalmente concebidos para dar a todas as equipes de design a capacidade de criar lógica personalizada. Nos primeiros dias, o uso de um FPGA em seu design significava que você precisava fazer muita programação apenas para fazer com que seu FPGA desempenhasse funções simples, para que a maioria dos designers os evitasse. Se você não estudou os FPGAs desde que estudou na universidade, é melhor dar uma olhada neles. O FPGA evoluiu de um dispositivo de interface útil, porém humilde, para um circuito integrado (IC) no nível do sistema com seus próprios microprocessadores, blocos de memória e interfaces. É a próxima grande novidade. Agora seria um ótimo momento para obter um kit de desenvolvimento barato, baixar ferramentas gratuitas e começar a explorar esse mundo por si mesmo. E este livro o ajudará a entender os usos práticos dos FPGAs. Sobre este livro Este livro é para você se você é um projetista de sistemas, um engenheiro experiente ou alguém que não vê FPGAs desde os seus dias na escola de engenharia. Este livro foi escrito com a cooperação da Altera Corporation, agora parte da Intel Corporation. Ícones usados neste livro Ao longo deste livro, ocasionalmente uso ícones especiais para chamar atenção para informações importantes. Você não verá os rostos sorridentes ou emoticons típicos, mas definitivamente desejará parar e prestar atenção! Aqui está o que você pode esperar. 2 FPGAs para manequins, 2ª edição especial da Intel 2 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Este ícone indica as informações que você deseja colocar no cache, na memória ou em qualquer coisa que você usar para manter as informações, como aniversários e números de telefone, para uso posterior! Quem sabe? Você pode obter algumas informações legais que você pode usar para impressionar seus amigos em festas! Não, não estou pedindo para você cuidar de seus servidores e garçons! Você deve parar e prestar atenção, pois esses são pedaços de conhecimento que podem poupar seu agravamento posteriormente. Além do livro Embora este livro esteja repleto de informações, só posso cobrir muito em 48 páginas! Portanto, se você deseja obter mais informações sobre FPGAs, acesse www.intel.com/altera.páginas! Portanto, se você deseja obter mais informações sobre FPGAs, acesse www.intel.com/altera. Lá você pode encontrar mais informações sobre os FPGAs da Intel. Você também pode ver vídeos e seminários on-line, fazer download de demos, ler folhas de dados e white papers e muito mais! http://www.intel.com/altera Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Capítulo 1 FPGAs para todos Neste capítulo ▶ Apresentando FPGAs▶ Apresentando FPGAs ▶ Descobrindo como os FPGAs fazem o que fazem▶ Descobrindo como os FPGAs fazem o que fazem ▶ Examinando as diferenças entre FPGAs e ASICs▶ Examinando as diferenças entre FPGAs e ASICs W bem-vindo! Se você está lendo este capítulo, é uma boa apostaW bem-vindo! Se você está lendo este capítulo, é uma boa apostaque você é um engenheiro que pode ter aprendido sobre FPGAs (Field Programmable Gate Arrays) no passado, mas agora deseja saber mais. Talvez você esteja se perguntando como pode usá-los em seus projetos. Neste capítulo, apresento os FPGAs e explico quais problemas eles resolvem. Também discuto como eles fazem o que fazem e discutem as vantagens e desvantagens do design e a verdade sobre a operação do FPGA. Comparado a outras maneiras de construir hardware, os FPGAs têm duas coisas importantes para eles. Primeiro, eles permitem que você construa exatamente o hardware de que precisa, em vez de usar o mesmo produto padrão específico da aplicação (ASSP) que todos os seus concorrentes estão usando ou assumir o tempo, custo e risco de uma aplicação específica projeto de circuito integrado (ASIC). Mas, igualmente importante, essa capacidade de personalizar o FPGA significa que, em um FPGA, é possível executar operações de maneira mais simples, rápida e com maior eficiência de energia do que as realizadas nos núcleos de microprocessadores de um ASSP. 4 FPGAs para manequins, 2ª edição especial da Intel 4 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Então, por que você precisaria de um FPGA? Estou feliz que você pediu! A FPGA é um dispositivo semicondutor no qual a função Estou feliz que você pediu! A FPGA é um dispositivo semicondutor no qual a função Estou feliz que você pediu! A FPGA é um dispositivo semicondutor no qual a função pode ser definida após a fabricação. Um FPGA permite programar os recursos e funções do produto, adaptar-se a novos padrões e reconfigurar o hardware para aplicativos específicos, mesmo após a instalação do produto em campo - daí o termo programável aplicativos específicos, mesmo após a instalação do produto em campo - daí o termo programável em campo. E matrizes de portãoem campo. E matrizes de portãoem campo. E matrizes de portão são matrizes bidimensionais de portas lógicas. Se você reunir o suficiente dessas coisas, poderá fazer com que esses cálculos simples se juntem para fazer algo significativo. Em termos menos técnicos, um FPGA permite flexibilidade em seus projetos e é uma maneira de alterar o funcionamento de partes de um sistema sem introduzir uma grande quantidade de custo e risco de atrasos no cronograma do projeto. Um exemplo simples é uma câmera de visão traseira projetada para um carro. Se o sistema da câmera demorar 250 milissegundos desde o momento em que o sensor de imagem a vê atéo quadro de imagem realmente aparecer no visor, e uma alteração nos regulamentos governamentais exigir que esse atraso ou latência não ultrapasse 100 milissegundos, você poderá encontrar maneiras de ajustar o pipeline de processamento do sinal de imagem em um FPGA para atender aos novos requisitos de latência. Isso seria quase impossível de se fazer com um sistema baseado em microprocessador. Neste exemplo, uma empresa pode obter uma grande vantagem usando um FPGA porque não precisa reprojetar peças ou comprar todos os novos processadores. Nos primeiros dias, os circuitos FPGA eram muito grandes e você não podia encaixar muitos em um único chip. Tudo o que um designer podia fazer era criar uma interface com um FPGA e os clientes podiam reprogramar essa interface para fazer algo diferente (por exemplo, alterar uma interface que opera em uma entrada de teclado para uma que lida com entrada de um dispositivo com tela de toque). Logo, no entanto, os designers perceberam que podiam construir subsistemas inteiros a partir de FPGAs, o que significava que os designers não estavam mais restritos a usar apenas ASICs para implementar esses subsistemas. Como os componentes do circuito estão ficando cada vez menores, os designers podem colocar muito mais dispositivos no mesmo Capítulo 1: FPGAs para todos 5Capítulo 1: FPGAs para todos 5FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. chip - permitindo funcionalidade mais sofisticada e aritmética mais rápida, o que, por sua vez, leva a cálculos mais rápidos e menor consumo de energia. Os FPGAs modernos consistem em misturas de SRAM (memória estática de acesso aleatório) configurável, pinos de entrada / saída (E / S) de alta velocidade, blocos lógicos e roteamento. Mais especificamente, um FPGA contém elementos lógicos programáveis chamados, naturalmente, elementos lógicos (LEs), bem como uma hierarquia de interconectos reconfiguráveis que permitem que os LEs sejam fisicamente conectados um ao outro. Você pode configurar LEs para executar funções complexas ou simplesmente executar portas lógicas básicas, como AND e OR. A maioria dos FPGAs também contém blocos de memória (para mais informações sobre esses tópicos, consulte a seção “Os blocos de construção de um FPGA”). ASICs e ASSPs A circuito integrado específico da aplicação A circuito integrado específico da aplicação (ASIC) é um circuito integrado composto de (ASIC) é um circuito integrado composto de componentes elétricos, como transistores, capacitores e resistores, fabricados em uma bolacha composta de silício ou outro material semicondutor personalizado para um uso específico. Dois exemplos de ASICs são um gravador de voz e um minerador de Bitcoin de alta eficiência. Ao longo dos anos, o tamanho dos componentes usados nos CIs diminuiu, o que significa que circuitos mais complexos podem ser criados usando o mesmo espaço. Devido a essa redução de componentes, alguns ASICs agora se tornaram grandes o suficiente para conter vários microprocessadores e outros subsistemas complexos. Produtos padrão específicos da aplicação (ASSPs), por outro lado, são ICs dedicados a (ASSPs), por outro lado, são ICs dedicados a um mercado de aplicativos específico e vendidos a mais de um usuário (e, portanto, padrão), em contraste com os ASICs, que são projetado para e vendido para um único cliente. Alguns exemplos de ASSPs são microcontroladores e chips do sistema no coração de muitos smartphones e tablets. ASICs e ASSPs são projetados especificamente para funcionalidade dedicada. Devido ao controle rígido de sua configuração, ASICs e ASSPs são muito compactos, baratos, rápidos e de baixa potência, que são características altamente desejáveis no projeto eletrônico. Como a função deles é conectada no momento da fabricação, não é fácil alterar a funcionalidade de apenas uma pequena parte do circuito. De fato, como esses circuitos são fabricados permanentemente em bolachas de silício, você simplesmente não pode desmontar o circuito e substituí-lo por outra coisa. Se você precisar alterar algo no design, precisará desfazer o chip inteiro e começar de novo. 6 FPGAs para manequins, 2ª edição especial da Intel 6 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Hoje, a propriedade intelectual rígida (IP) pode ser incorporada ao tecido FPGA para fornecer funcionalidade rica, reduzindo a energia e o custo. Alguns exemplos do IP rígido incluído nos FPGAs de hoje são blocos de memória, circuitos de cálculo, transceptores, controladores de protocolo e até unidades centrais de processamento (CPUs). É importante lembrar, no entanto, que esse IP rígido não é personalizável como o resto do FPGA! A integração de IP rígido - por exemplo, um processador de sinal digital (DSP) - libera os designers de reinventarem a roda toda vez que precisam adicionar essas peças comuns aos seus sistemas. Os fabricantes de FPGA podem se dar bem com a tecelagem de componentes IP rígidos em FPGAs porque essas funcionalidades se tornaram commodities e, portanto, bastante uniformes na maioria dos sistemas eletrônicos. Examinando um FPGA As seções a seguir discutem os componentes do FPGA em detalhes e explicam o que é um FPGA em linguagem mais simples, caso tenha sido um longo tempo desde que você aprendeu sobre os FPGAs e esqueceu alguns dos detalhes. Os blocos de construção de um FPGA Você pode construir qualquer coisa digital a partir de três partes simples: um fio, um portão lógico e um registro (veja a Figura 1-1). UMA registrológico e um registro (veja a Figura 1-1). UMA registro lembra de um pedaço de informação até que seja dito para lembrar de outra coisa. UMA portão lógico executa operações lógicas simples em sinais e um fio conecta UMA portão lógico executa operações lógicas simples em sinais e um fio conecta UMA portão lógico executa operações lógicas simples em sinais e um fio conecta UMA portão lógico executa operações lógicas simples em sinais e um fio conecta UMA portão lógico executa operações lógicas simples em sinais e um fio conecta essas outras peças. - Um fio - Um portão - Um registro Cortesia da Intel Corporation. Figura 1-1: Os blocos de construção de um sistema digital.Figura 1-1: Os blocos de construção de um sistema digital. Portões lógicos As portas lógicas executam a funcionalidade principal dos circuitos digitais, o que significa que eles executam lógica simples em entradas - elétrico que eles executam lógica simples em entradas - elétrico que eles executam lógica simples em entradas - elétrico Capítulo 1: FPGAs para todos 7Capítulo 1: FPGAs para todos 7FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. pulsos que seu computador usa para representar 0s e 1s (mais sobre isso mais tarde). Por si só, essas operações simples não fazem muito, mas quando você reúne milhares ou até milhões delas, pode fazer algo realmente poderoso. A CPU do seu computador é composta de bilhões de portas lógicas que permitem ao seu computador fazer todas as coisas legais que ele faz. Para atuar como circuitos funcionais, os portões lógicos usam um tipo de aritmética chamada boleano álgebra. A álgebra booleana foi introduzida pela primeira vez em chamada boleano álgebra. A álgebra booleana foi introduzida pela primeira vez em chamada boleano álgebra. A álgebra booleana foi introduzida pela primeira vez em 1854 por George Boole. Diferentemente da álgebra elementar, onde os valores das variáveis são números e as principais operações são adição e multiplicação,as operações principais da álgebra booleana são a conjunção AND, a disjunção OR e a negação NOT. Os valores das variáveis na álgebra booleana são os verdade valores verdadenegação NOT. Os valores das variáveis na álgebra booleana são os verdade valores verdadenegação NOT. Os valores das variáveis na álgebra booleana são os verdade valores verdadenegação NOT. Os valores das variáveis na álgebra booleana são os verdade valores verdade e falso.e falso. Os princípios básicos das operações de álgebra booleana são os seguintes: ✓ E ( conjunção) é denotado como x AND y, o que gera uma ✓ E ( conjunção) é denotado como x AND y, o que gera uma ✓ E ( conjunção) é denotado como x AND y, o que gera uma resultado de verdadeiro se x e y forem verdadeiros e falso caso contrário. ✓ Ou ( disjunção) é denotado como x OR y, que produz true se ✓ Ou ( disjunção) é denotado como x OR y, que produz true se ✓ Ou ( disjunção) é denotado como x OR y, que produz true se ou x ou y é verdadeiro e falso se nem x nem y forem verdadeiros. ✓ Não ( negação) é denotado como NÃO x, que produz true se x ✓ Não ( negação) é denotado como NÃO x, que produz true se x ✓ Não ( negação) é denotado como NÃO x, que produz true se x é falso e falso se x for verdadeiro. Um dos usos mais comuns da álgebra booleana é o design da lógica digital. Acontece que a álgebra booleana mapeia diretamente para circuitos digitais nos quais as entradas são 0s e 1s ou falsoquais as entradas são 0s e 1s ou falso e verdade. Ao conectar cada vez mais essas portas lógicas que executam aritmética e verdade. Ao conectar cada vez mais essas portas lógicas que executam aritmética e verdade. Ao conectar cada vez mais essas portas lógicas que executam aritmética booleana simples em 0s e 1s, você obtém sistemas que podem executar funções avançadas. Por exemplo, portões lógicos guiam o Mars Rover, permitem que bilhões de dispositivos sejam conectados aos Sistemas de Posicionamento Global (GPS) e até alimentam seu jogo favorito em seu dispositivo móvel. Registros Registros são dispositivos simples que armazenam dados para uso futuro. Pense nos Registros são dispositivos simples que armazenam dados para uso futuro. Pense nos registros como um local de curto prazo para a colocação de dados que você pode acessar rapidamente; é aqui que você colocaria um número de telefone dado a você momentos antes de discar. Assim que você tenta se lembrar de outra coisa, como a hora em que precisa estar em um compromisso, esse número de telefone que você tentou lembrar anteriormente é substituído pelo horário de início do compromisso. Os registros mantêm as informações que lhes são fornecidas até que sejam solicitadas a esquecê-las e manter novas informações. 8 FPGAs para manequins, 2ª edição especial da Intel 8 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Fio A terceira parte de tudo que é digital é o fio usado para conectar todos os registros e portas lógicas. Esses elementos devem ser conectados para que todo o sistema faça o que você deseja, desde tarefas simples, como adicionar 1 + 2, até tarefas mais complexas, como a conversão de pulsos de LEDs azuis que lêem um disco Blu-ray em nítidos , imagens de alta definição na tela da sua televisão. Você pode construir qualquer sistema digital que desejar, com a quantidade certa de portas lógicas e registradores com fios para conectar todos eles. Explicando os FPGAs de forma criativa Mas aguarde um segundo! Toda essa conversa sobre portas lógicas, registros e fios parece realmente técnica e é bastante abstrata. Você precisa ser um engenheiro elétrico experiente para entender um FPGA? Não! Você pode usar duas metáforas diferentes para explicar como os FPGAs funcionam. A primeira metáfora é miçangas e barbante. A segunda metáfora são os brinquedos de blocos de construção que você costumava brincar quando criança. Acontece que contas e blocos de construção interligados ilustram duas abordagens para o uso de elementos lógicos na construção de sistemas eletrônicos. Miçangas e barbante O método representado por miçangas e barbante dá ao designer o melhor controle do padrão, usando pequenas miçangas e barbante fino para conectar todos eles. O resultado é um padrão bonito e muito complexo. Mas esse controle refinado tem um custo. É muito difícil, se não impossível, alterar o padrão mesmo que ligeiramente, sem desfazer todo o seu trabalho e começar de novo. Quando você mapeia os grânulos e as linhas para o design da eletrônica digital, cria um design que se assemelha muito a ASICs ou ASSPs. Imagine um padrão de miçangas criado a partir de muitas miçangas de cores diferentes, dispostas em diferentes padrões e conectadas por fios. Usando esses componentes simples, você pode criar quase qualquer tipo de padrão, do mais simples ao mais complexo, dependendo do número de contas, de suas cores e de como escolhe organizá-las. Agora, imagine que as contas representem registros e portas lógicas; e imagine a corda como arame. Assim como as contas e os cordões, esses elementos produzem um sistema - um sistema que Capítulo 1: FPGAs para todos 9Capítulo 1: FPGAs para todos 9FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. pode executar todos os tipos de cálculos, desde os mais simples até os mais complexos. Você pode pensar em cores de miçangas diferentes como representando os diferentes tipos de portas lógicas, como AND, OR ou NOT, e ver como essas operações aritméticas simples podem se tornar cálculos muito complexos, assim como o arranjo de cores simples de miçangas pode se tornar muito complicado padrões uma vez reunidos com barbante. Ao organizar as contas em padrões, você pode criar designs bonitos, mas o que acontece quando você deseja alterar os padrões em outra coisa reorganizando as contas ou alterando as cores das contas? É aqui que as coisas ficam complicadas! Para alterar os padrões, você precisa desembaraçar toda a corda para mudar as coisas. Você logo descobrirá que os threads estão tão intimamente conectados que você não pode desfazer parte do design. Muito rapidamente, você verá que todo o design deve se desfazer para alterar o padrão, mesmo que ligeiramente. Bem, isso não é muito flexível, é? Brinquedos de blocos de construção Os blocos de construção são relativamente grandes e robustos e só podem se encaixar em determinados pontos do bloco. O design do bloco de construção não é tão elegante e intrincado quanto o padrão produzido por contas e fios. Você pode, no entanto, alterar partes do design sem rasgar tudo e começar tudo de novo, o que me leva à segunda abordagem do design eletrônico digital: FPGAs. Talvez você tenha passado inúmeras horas em criança ou com seus filhos usando blocos de construção para construir torres, caminhões de bombeiros e naves espaciais. Da mesma forma, você pode usar blocos de construção para criar uma boa representação de sistemas digitais, construindo uma tabela e fingindo que alguns tijolos são portas lógicas, alguns são registradores e outros são os fios usados para conectar todos eles. Agora imagine que alguém lhe diga que deseja alterar o padrão no lado inferior direito da mesa e, talvez, alterar as cores dos blocos. Como os blocos são todos peças interconectadas, você pode remover facilmente apenas aqueles no canto inferior direito e substituí-los por um grupo de peças diferentes. O restante dos blocos na mesa permanece intacto e você não precisa refazer todo o design apenas para alterar uma pequena parte. 10 FPGAs para manequins, 2ª edição especial da Intel 10 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquerdivulgação, distribuição ou uso não autorizado é estritamente proibido. Comparando FPGAs e ASICs Os FPGAs são geralmente mais flexíveis e econômicos que os ASICs. Nas seções a seguir, explico o porquê. Custos e flexibilidade Usando FPGAs, você pode implementar qualquer função lógica que um ASIC possa executar, mas com a vantagem distinta de atualizar a funcionalidade após a fabricação do chip, o que é desejável para muitos aplicativos. Os FPGAs são mais econômicos que os ASICs porque o cliente pode programar os FPGAs de acordo com seus requisitos, em vez de contratar um fornecedor para projetar e construir um ASIC para atender às suas necessidades. Redução do risco de tempo de projeto versus velocidade Se você optar por usar o processo de semicondutor mais avançado do mundo, não importa o custo, sempre poderá criar um ASIC que funcione mais rápido que o FPGA mais rápido disponível. Mas quase ninguém usa o processo mais avançado: fazer isso seria arriscado, muito difícil e muito caro. De fato, apenas algumas empresas ASSP saltam para um novo processo assim que disponível. Todos os outros usam um processo com uma, duas ou três gerações. E o fato é que o FPGA mais rápido que você pode obter pode competir diretamente com os processos ASIC mais antigos. E o FPGA traz trabalho de design reduzido e muito menos risco. Se, por exemplo, você está projetando um sistema com requisitos de desempenho e eficiência de energia específicos e planeja usar um ASIC de 65 nanômetros (nm) mais antigo, sabia que pode obter resultados semelhantes com um FPGA atual de 20 nm? E o uso do FPGA reduziria o tempo de design, reduziria o risco de erros de design e ofereceria um custo total de propriedade (TCO) menor do que o ASIC. Para a maioria das aplicações, o consumo de energia do FPGA será aceitável para suas necessidades. Portanto, devido ao menor custo total de propriedade e à maior flexibilidade, os FPGAs costumam ser a melhor opção tecnológica. Capítulo 1: FPGAs para todos 11Capítulo 1: FPGAs para todos 11FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Nanômetros (nm) são uma medida do tamanho dos transistores em um chip. Os transistores estão encolhendo há décadas. Veja o capítulo 2. A escolha de um FPGA para um sistema oferece ao projetista maior configurabilidade e menos risco de impacto no cronograma de desenvolvimento, porque, como demonstrado pela analogia dos blocos de construção, pequenas partes dos FPGAs podem ser modificadas sem impacto no restante do projeto. Os FPGAs são surpreendentemente fáceis de usar Alguns designers têm a falsa impressão de que construir um sistema com um FPGA moderno significa que você precisa mexer com milhões de portas lógicas e grandes quantidades de conexões apenas para fazer algo útil. Mas se fosse esse o caso, o uso do FPGA não aumentaria: em vez disso, restariam apenas meia dúzia de usuários de FPGA. A boa notícia é que os designers de FPGA fizeram muito trabalho pesado ao adicionar componentes comumente necessários, como geradores de clock, controladores de memória dinâmica de acesso aleatório (DRAM), controladores Express (PCI) de interconexão de componentes periféricos e até microprocessadores multicore inteiros, tudo isso você precisa se concentrar em personalizar as funções específicas do seu aplicativo. IP rígido No começo do capítulo, mencionei que IP rígido é propriedade intelectual incorporada No começo do capítulo, mencionei que IP rígido é propriedade intelectual incorporada No começo do capítulo, mencionei que IP rígido é propriedade intelectual incorporada ao FPGA, como controladores DRAM, controladores PCIe, geradores de clock e grandes blocos de memória. De fato, há tanto IP rígido nos FPGAs de hoje que eles realmente se tornaram sistemas em chips (SoCs). Não apenas as funções comuns que a maioria dos projetistas de sistemas precisam incorporar no IP rígido do FPGA, mas também muitas funções menos necessárias, como transceptores seriais de alta velocidade para radar ou comunicação e acumuladores multiplicadores de processador de sinal digital (DSP) para processamento de sinal pode ser incluído. Hoje, mesmo os subsistemas de CPU ARM de núcleo duplo (ARM é uma marca de design de microprocessador) podem ser incorporados. 12 FPGAs para manequins, 2ª edição especial da Intel 12 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. De fato, os FPGAs avançados de hoje podem ter lógica programável em apenas metade da área da matriz, a outra metade consistindo em IP rígido. Agora, os projetistas geralmente começam com um FPGA que já possui o IP necessário e depois usam a lógica programável para personalizar o FPGA para sua aplicação específica. Operação paralela e redução de pedidos Os designers modernos tornaram-se muito bons em criar ferramentas inteligentes o suficiente para reduzir as operações mais complicadas para as mais simples (isso é conhecido como redução de pedidos) e também tem a capacidade de executar uma conhecido como redução de pedidos) e também tem a capacidade de executar uma conhecido como redução de pedidos) e também tem a capacidade de executar uma operação complexa em uma série de instruções que operam simultaneamente, conhecida como operação paralela. Então tudo isso parece ótimo, mas o que realmente significa? Um microprocessador pode fazer praticamente qualquer coisa simplesmente executando suas instruções. Se o programa diz para multiplicar, o microprocessador carrega a instrução da memória, decodifica, carrega cada número, multiplica e armazena o resultado. Cada uma dessas etapas leva tempo e energia. Mas e se tudo que você quisesse fosse multiplicar um número por 2? Isso é apenas uma operação de turno. Em geral, se você tiver uma operação de multiplicação e souber que um dos coeficientes é um valor constante, poderá reduzir essa operação complexa para uma mais simples, economizando tempo e energia de processamento. Os microcontroladores, diferentemente dos FPGAs, não têm inteligência para reduzir a multiplicação à adição sempre que possível; portanto, eles precisam executar a operação de multiplicação, resultando em menor velocidade de execução e mais uso de energia. Os FPGAs realmente brilham quando se trata de fazer coisas como cálculos de matemática vetorial. A matemática vetorial não é apenas para a aula de física: os programadores a usam sempre que precisam executar a mesma operação em cada um de um grande conjunto de números. A grande vantagem dos FPGAs aqui é que, embora um microprocessador tenha que tratar cada número separadamente - ou, na melhor das hipóteses, levar alguns números de cada vez - você pode programar o FPGA para fazer muitas operações simultaneamente (em paralelo). Se você possui uma matriz de 128 elementos, pode criar 128 "pipelines" aritméticos para que todas essas operações possam ser executadas simultaneamente, proporcionando enormes ganhos em desempenho e uso de energia. Muitas vezes, um ASIC ou ASSP não é a resposta certa! Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Capítulo 2 O que há em um FPGA, De qualquer forma? Neste capítulo ▶ Investigando a malha programável e a E / S▶ Investigando a malha programável e a E / S ▶ Analisando a escala ascendente▶ Analisando a escala ascendente ▶ Incorporando IP rígido e CPUs integradas▶ Incorporando IP rígido e CPUs integradas ▶ Combater o fluxo do design moderno▶ Combater o fluxo do design moderno Eu Se você está lendo este capítulo, é uma aposta segura que você pode saber Eu Se você está lendo este capítulo, é uma aposta segura que você pode sabero que é um FPGA. Mas se já faz algum tempo desde que você aprendeu sobre FPGAs, você ficará surpreso com a forma como eles evoluíram nos últimos anos para serem mais do que uma série de portas lógicas programáveis. Agora, eles incluem hardware embutido para executar muitas funções comuns imediatamente. Este capítulo mostra o que realmente está em um FPGA, discute o futuro da escala ascendente e mostra como o fluxo de design funciona. Noções básicas - malha programável e E / S Como sugere o nome FPGA (Field Programmable Gate Array), os FPGAs são, em sua essência, simplesmente circuitos integrados que contêm várias portas lógicas e circuitos de E / S. O circuito de E / S capta dados de uma fonte e cospe dados na outra extremidade em outro sistema ou subsistema. No capítulo 1, discuto os blocos de construção de um sistema elétrico: portas lógicas, fios e registros. No centro de um sistema elétrico, há um retângulo plano de silício com fios e 14 FPGAs para manequins, 2ª edição especial da Intel 14 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. transistores gravados em sua superfície. Esses bits de silício são conhecidos como circuitos integrados ( CIs).como circuitos integrados ( CIs).como circuitos integrados ( CIs). Transistores são dispositivos semicondutores geralmente feitos de silício. Os transistores são usados para comutar e / ou amplificar sinais elétricos e ter pelo menos três conectores (ou terminais) que formam uma conexão com o circuito. Os transistores alternam os sinais elétricos aplicando uma energia potencial elétrica (tensão) em dois dos terminais e, em seguida, aplicando outro potencial no terceiro terminal, o que faz com que a corrente flua de uma extremidade do transistor para a outra nos dois primeiros. terminais. Quando esse potencial é removido, nenhuma corrente flui através do circuito. Os transistores também podem amplificar a energia de entrada aplicando uma tensão ou corrente que faz com que a energia na saída do transistor seja maior do que a fornecida na entrada. Os transistores são semelhantes às válvulas de mola usadas no encanamento. Quando você aplica força à válvula, a água flui através de um tubo (um fio nesta analogia). Quando você remove a força da válvula, ela fecha e a água para de fluir através do tubo. O mesmo vale para transistores. Quando você aplica potencial elétrico (força) ao transistor, a eletricidade flui através dele e sai pela outra extremidade nos fios que conectam o circuito. Quando você remove esse potencial elétrico, a eletricidade para de fluir. História dos transistores Os historiadores creditam o desenvolvimento do transistor em 1947 a John Bardeen, Walter Brattain e William Shockley. O que torna o transistor uma invenção tão notável é que ele inaugurou a era da Estado sólido eletrônica e o inaugurou a era da Estado sólido eletrônica e o inaugurou a era da Estado sólido eletrônica e o circuito integrado. Os transistores são muito, muito menores e consomem muito menos energia do que os tubos de vácuo que eles substituíram. A redução no tamanho permitida para dispositivos menores, o que significa que você pode carregar telefone com você para reproduzir o vídeo mais recente sobre gatos do YouTube e obter instruções de direção para o seu restaurante de fusão francês-vietnamita favorito! Se você estiver se sentindo realmente nerd, poderá deliciar e surpreender seus amigos na próxima festa, explicando a eles que a palavra transistor foi cunhado por John R. Pierce como transistor foi cunhado por John R. Pierce como uma combinação do termo resistor de transferência. Este boato também pode ser resistor de transferência. Este boato também pode ser útil para ganhar dinheiro e prêmios fabulosos Perigo!útil para ganhar dinheiro e prêmios fabulosos Perigo! Capítulo 2: O que há em um FPGA, afinal? 15Capítulo 2: O que há em um FPGA, afinal? 15FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Álgebra booleana é realmente operações numéricas nos valores de entrada de verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os verdade ou falso ou expresso numericamente como 1 ou 0. Portões lógicos são os dispositivos usados para executar as várias operações de álgebra booleana com valores de entrada de 0 ou 1. Como os transistores alternam sinais elétricos aplicando ou removendo um potencial elétrico, você pode organizar um grupo de transistores de maneira a criar uma lógica gate que pode executar uma das operações de álgebra booleana como AND, OR ou NOT (consulte o Capítulo 1 para uma discussão sobre operações de álgebra booleana). O núcleo de um FPGA é simplesmente um conjunto dessas portas e fios lógicos gravados em um circuito integrado de uma maneira que permite reconfigurá-los. Ou, se preferir, dê uma olhada na analogia que apresento no Capítulo 1, que compara FPGAs a peças de blocos de construção dispostas em uma mesa. Realmente, um FPGA, em sua forma mais simples, é uma grande variedade de retângulos coloridos colocados em uma mesa retangular que pode ser organizada da maneira desejada por seu proprietário (ou no caso de FPGAs, seu programador). lei de Moore A Lei de Moore teve origem em um artigo da edição de 19 de abril de 1965, de Revista edição de 19 de abril de 1965, de Revista Eletrônica chamado "Colocando mais Eletrônica chamado "Colocando mais componentes em circuitos integrados". Neste artigo, Moore previu com precisão que a complexidade do circuito dobraria a cada 2 anos enquanto bolacha ( o disco plano de silício anos enquanto bolacha ( o disco plano de silício anos enquanto bolacha ( o disco plano de silício no qual o circuito integrado é construído) permaneceria constante. No final da década de 1970, a formulação mais popular da Lei de Moore tornou-se o limite para o número de transistores nos chips mais complexos. Surpreendentemente, a previsão de Moore ainda é verdadeira quase 50 anos após sua publicação inicial! Simplificando, a Lei de Moore afirma que, como você pode reduzir o tamanho dos recursos que inscreve no circuito integrado em 30% a cada 18 a 24 meses, pode dobrar a contagem de transistores. A Lei de Moore torna as coisas mais complexas e difíceis. Por exemplo, adicionar todos esses fios e transistores a uma área de superfície menor de silício torna muito difícil manter a integridade da colocação do projeto do circuito original, após o processamento, na pastilha gravada de silício. As imagens projetadas aparecem com esquisitices como linhas mais largas ou mais estreitas do que as projetadas, ou distorções como cantos arredondados no wafer. 16 FPGAs para manequins, 2ª edição especial da Intel 16 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. No passado, os designers encontravam apenas usos simples para FPGAs, como interface simples com computadores e criação de funções lógicas básicas. Além de serem usados como dispositivos para interfaces de programação de campo, os designers não fizeram muito mais com eles. Escalando para cima Os projetistas cobrem isso quando se trata de eliminar os problemas que ocorrem ao gravar circuitos com o que pode resultar em milhões de fios e transistores em umapequena bolacha de silício. Outro problema que ocorre ao dimensionar o design de chips para adicionar milhões ou bilhões de transistores é que fica muito difícil beliscar os transistores (cortam o ou bilhões de transistores é que fica muito difícil beliscar os transistores (cortam o ou bilhões de transistores é que fica muito difícil beliscar os transistores (cortam o potencial elétrico) porque os transistores são muito pequenos. À medida que o design do chip continua a dobrar o número de transistores em uma bolacha, o design se torna mais complexo e os transistores vazam mais energia, o que significa que o chip queima energia quando fica sentado sem fazer cálculos. Os transistores também ficam mais fracos, portanto, mais trabalho deve ser feito apenas para impedir que o chip fique mais lento. O fim da escala pode estar próximo? Os projetistas já colocam tanta potência em uma área tão pequena do chip que é possível que um chip derreta seus próprios fios! Os designers estão no ponto em que terão que mudar fundamentalmente como projetam transistores a partir de um planar arranjo para um FinFET. Um FinFET é um transistor de transistores a partir de um planar arranjo para um FinFET. Um FinFET é um transistor de transistores a partir de um planar arranjo para um FinFET. Um FinFET é um transistor de transistores a partir de um planar arranjo para um FinFET. Um FinFET é um transistor de transistores a partir de um planar arranjo para um FinFET. Um FinFET é um transistor de efeito de campo mutável não-plano (FET) construído em uma pastilha de silício projetada para reduzir a área de superfície que um transistor ocupa. O FinFET recebe esse nome da fina “aleta” de silicone que forma o canal condutor do transistor. O que o futuro reserva para os projetistas de chips? No passado não tão distante, um chip tinha cerca de 20 transistores. Nos próximos anos, serão construídos chips contendo dezenas de bilhões de transistores. Antes que esses chips possam ser projetados, os projetistas terão que começar a produzir transistores que se erguem nas bordas, diferentes tipos de fios e muitas outras alterações. O design dos chips estará à beira de um território inexplorado - os chips poderão diagnosticar, compensar e curar a si mesmos. De fato, esses são tempos empolgantes para os projetistas de chips, pois continuam estendendo a Lei de Moore para o futuro! Capítulo 2: O que há em um FPGA, afinal? 17Capítulo 2: O que há em um FPGA, afinal? 17FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. A aplicação da Lei de Moore certamente foi vencedora em circuitos integrados. Os circuitos integrados de hoje podem conter milhões ou até bilhões de transistores e podem executar operações muito complexas, como rede de dados de alta velocidade, cálculos avançados de gráficos 3D ou streaming e reprodução de filmes pela Internet em alta definição! A Lei de Moore não se aplica apenas a circuitos integrados - sua aplicação também revolucionou os FPGAs. IP rígido e CPUs integradas Hoje, a implementação de um design em um FPGA geralmente pode fornecer a mesma eficiência e velocidade de energia que o mesmo design implementado em um ASIC no mesmo tamanho de hardware. Isso é verdade em parte porque os fornecedores de FPGA incorporaram grandes blocos de hardware predefinido ao FPGA para implementar funções frequentemente necessárias, de interfaces padrão a microcomputadores inteiros. O fato de os FPGAs serem programável em campo dá a eles uma vantagem sobre os O fato de os FPGAs serem programável em campo dá a eles uma vantagem sobre os O fato de os FPGAs serem programável em campo dá a eles uma vantagem sobre os ASICs porque o mesmo hardware pode ser reprogramado em resposta a mudanças no design. Se o design usa um ASIC, a alteração do design exige que o hardware seja descartado e que seja necessário criar um novo hardware para refletir as alterações no design. Mais designers estão escolhendo FPGAs em vez de ASICs para seus projetos. Se você estiver pensando em usar FPGAs em seus projetos, continue lendo para descobrir mais sobre o fluxo de design para projetar com FPGAs enquanto aproveita ao máximo seu hardware incorporado. Fluxo de design moderno de FPGAs Os projetos de FPGA geralmente começam com o que é chamado projetos de referência,Os projetos de FPGA geralmente começam com o que é chamado projetos de referência, que representam um plano técnico de um sistema destinado a outras pessoas copiarem. Os projetos de referência contêm os elementos essenciais do sistema. Os projetos de referência geralmente são feitos pelos engenheiros de aplicativos como parte de um esforço de suporte de vendas, mas a natureza do cliente mudou. Cada vez mais, os designs de referência não são ferramentas de vendas - são o próprio produto! 18 FPGAs para manequins, 2ª edição especial da Intel 18 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Criando um diagrama de blocos funcional Então, como é o fluxo de design de um sistema? A Figura 2-1 mostra um diagrama de blocos simples de um fluxo de projeto de sistema de alto nível. Verificar Implementar sistema Criar arquitetura Definir Requisitos Cortesia da Intel Corporation. Figura 2-1: Fluxo de design do sistema. Figura 2-1: Fluxo de design do sistema. O fluxo de design do sistema aparece no formato que você esperaria. Primeiro você define os requisitos e depois cria a arquitetura do sistema que você define. Aqui, você determina os componentes necessários para implementar seu design. Em seguida, você implementa o sistema usando a arquitetura planejada. Por fim, você verifica se o sistema atende a todos os requisitos. A Figura 2-1 mostra uma visão simplista do fluxo de design do sistema. o Criar A Figura 2-1 mostra uma visão simplista do fluxo de design do sistema. o Criar arquitetura e Implementar sistema etapas são onde está a ação. Aqui é onde você arquitetura e Implementar sistema etapas são onde está a ação. Aqui é onde você arquitetura e Implementar sistema etapas são onde está a ação. Aqui é onde você arquitetura e Implementar sistema etapas são onde está a ação. Aqui é onde você determina como é a arquitetura do sistema e cria os aplicativos de hardware e software necessários para implementar o design do sistema. Você pode detalhar ainda mais as etapas entre Definir requisitos e Verificar em um fluxo separado que ainda mais as etapas entre Definir requisitos e Verificar em um fluxo separado que ainda mais as etapas entre Definir requisitos e Verificar em um fluxo separado que ainda mais as etapas entre Definir requisitos e Verificar em um fluxo separado que ainda mais as etapas entre Definir requisitos e Verificar em um fluxo separado que pode ser chamado de software fluxo de aplicação. A Figura 2-2 adiciona as etapas pode ser chamado de software fluxo de aplicação. A Figura 2-2 adiciona as etapas pode ser chamado de software fluxo de aplicação. A Figura 2-2 adiciona as etapas do fluxo de aplicativos de software ao fluxo de design do sistema na Figura 2-1.fluxo de aplicativos de software ao fluxo de design do sistema na Figura 2-1. Verificar hardware Integrar e verificar sistema Integrar com hardware Verificar aplicativos Escrever aplicativos Implementar Hardware Criar arquitetura Requisitos? Cortesia da Intel Corporation. Figura 2-2: Fluxo de design do sistema com o fluxo de aplicativos de software.Figura 2-2: Fluxo de design do sistema com o fluxo de aplicativos de software. Os blocos coloridos mais claros entre Definir requisitos e Os blocos coloridos mais claros entre Definir requisitos e Os blocos coloridos mais claros entre Definir requisitos e Integrar e verificar sistemacompõem o fluxo de aplicativos do design. Nesta Integrar e verificar sistema compõem o fluxo de aplicativos do design. Nesta etapa, você escreve e verifica os aplicativos Capítulo 2: O que há em um FPGA, afinal? 19Capítulo 2: O que há em um FPGA, afinal? 19FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. software e, em seguida, integre esses aplicativos ao hardware. Depois que os aplicativos são integrados ao hardware, você integra e verifica se o sistema atende aos requisitos de design. O fluxo de aplicativos tem tudo a ver com o desenvolvimento dos aplicativos necessários para implementar o sistema. Os designers geralmente precisam considerar como seus sistemas serão executados em plataformas diferentes, dependendo do tipo de aplicativo em que o sistema será implantado (por exemplo, automotivo, comunicações e assim por diante). Freqüentemente, diferentes domínios de aplicativos estabeleceram padrões de software e hardware para garantir que os aplicativos desenvolvidos para esses sistemas executem funcionalidades comuns e possam trabalhar entre si. Pense em um telefone com Android, por exemplo. O sistema operacional Android contém recursos comuns que podem ser usados por todos os aplicativos desenvolvidos para ele e usa um padrão de plataforma para acessar a câmera e compartilhar dados entre aplicativos. Os designers geralmente incluem o que normalmente é chamado utensílios entre aplicativos. Os designers geralmente incluem o que normalmente é chamado utensílios de cozinha em suas aplicações. O middleware é uma camada de software que não de cozinha em suas aplicações. O middleware é uma camada de software que não implementa a funcionalidade principal do produto, mas fornece uma camada que implementa um padrão ou protocolo do setor. Designers criam middleware para isolar sua lógica de aplicativo da lógica específica de um determinado padrão ou plataforma de desenvolvimento (por exemplo, Android ou Apple iOS). O middleware pode frequentemente ser reutilizado em muitos outros aplicativos. Outra característica importante da adição de middleware aos aplicativos é que possibilita a incorporação de futuros padrões e plataformas facilmente ao seu aplicativo. A Figura 2-3 mostra como o desenvolvimento de middleware se encaixa no fluxo de design do sistema. Verificar hardware Implementar Hardware Criar arquitetura Escreva Middleware Verificar Middleware Requisitos? Escrever aplicativos Verificar aplicativos Integre-se ao Middleware Integrar com hardware Integrar e verificar sistema Cortesia da Intel Corporation. Figura 2-3: Middleware no fluxo de design do sistema.Figura 2-3: Middleware no fluxo de design do sistema. 20 FPGAs para manequins, 2ª edição especial da Intel 20 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Substituindo Blocos Funcionais por IP Existente Olhando para os diagramas de blocos, parece que seu trabalho foi feito para você quando se trata de criar e integrar seus aplicativos no sistema. Mas os fabricantes de FPGA aprenderam ao longo dos anos que a maioria dos sistemas exige muitos dos mesmos tipos de funcionalidade. Geralmente, são necessárias funcionalidades como E / S de dados de rede, processamento de gráficos e microprocessadores, portanto, não faz sentido para cada projetista de sistemas projetar e construir esses componentes. Faz muito mais sentido que esses tipos de funcionalidade estejam disponíveis sai da caixa. Nos últimos anos, os fabricantes de FPGA vêm incluindo disponíveis sai da caixa. Nos últimos anos, os fabricantes de FPGA vêm incluindo disponíveis sai da caixa. Nos últimos anos, os fabricantes de FPGA vêm incluindo essa funcionalidade comum ou propriedade intelectual (IP) em seus produtos. Esse IP pode estar na forma de hardware embutido no chip, software fornecido ao usuário ou - apenas para FPGAs - projetos de hardware que o usuário pode inserir na lógica programável. Agora, você pode substituir partes dos blocos no diagrama de blocos pelo IP existente - o trabalho que já foi feito para você. A Figura 2-4 mostra uma ilustração de onde o IP existente se encaixa no diagrama de projeto. Verificar hardware Implementar Hardware Escreva Middleware Verificar Middleware Integrar e verificar sistema Requisitos? Escrever aplicativos Verificar aplicativos Integre-se ao Middleware Integrar com hardware Criar arquitetura Cortesia da Intel Corporation. Figura 2-4: Substituindo blocos funcionais por IP existente.Figura 2-4: Substituindo blocos funcionais por IP existente. O retângulo sólido mostra o efeito do uso do hardware e do IP de lógica programável: Muitas das etapas de Implementar hardware e Verificar hardware foram feitas para você. Além disso, o retângulo tracejado na Figura 2-4 mostra onde o IP existente se encaixa no diagrama de design. Aqui, ele substitui parte do trabalho na criação de aplicativos e middleware pela funcionalidade implementada para você. Capítulo 2: O que há em um FPGA, afinal? 21Capítulo 2: O que há em um FPGA, afinal? 21FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Codificando os blocos ausentes O IP existente só pode ir tão longe implementando algumas funcionalidades comuns, por exemplo, acessando dados de GPS para um sistema de navegação a bordo. O restante do trabalho de programação de campo do FPGA fica a cargo do designer. Afinal, você quer que ele se encaixe exatamente nas suas aplicações, certo? Programar FPGAs modernos é muito mais fácil do que você imagina. As etapas para programar um FPGA incluem identificar todos os blocos do design que você deseja projetar, escolher uma linguagem de descrição de hardware ou de alto nível (HDL), escrever o código em um editor de texto, sintetizar (mais sobre mais tarde) o design, colocando e direcionando o design e, em seguida, carregando o design no próprio FPGA. Depois que o design é carregado no FPGA, pode ser necessário um ciclo de depuração para corrigir erros na funcionalidade.depuração para corrigir erros na funcionalidade. Você encontrará a palavra erro no jargão técnico do desenvolvimento de software e Você encontrará a palavra erro no jargão técnico do desenvolvimento de software e Você encontrará a palavra erro no jargão técnico do desenvolvimento de software e hardware. Um bug é um defeito inexplicável no software de computador que produz um resultado incorreto ou inesperado. O termo depuração refere-se à eliminação de um resultado incorreto ou inesperado. O termo depuração refere-se à eliminação de um resultado incorreto ou inesperado. O termo depuração refere-se à eliminação de defeitos até que todo o design seja executado de acordo com a funcionalidade necessária. Quando estiver satisfeito com o funcionamento do design, as próximas etapas são documentar o programa e finalmente enviá-lo ao cliente. Então, como você programa aqueles blocos que não podem ser importados de uma biblioteca? Nos primeiros dias dos FPGAs, você tinha uma escolha: um HDL que, como o nome sugere, descreve os blocos em termos de hardware - fios e portões. Essa programação FPGA limitada aos engenheiros de hardware e determinada O verdadeiro bug no bug Se você realmente gosta de origens de palavras, ficará fascinado em saber que o primeiro uso da palavra “bug” em software foi atribuído à pioneira em informática Grace Hopper. Em 1947, ela descobriu uma mariposa presa no relé de um computador eletromecânico e se referiu à falha resultante na execução do programa como um bug! 22 FPGAs paramanequins, 2ª edição especial da Intel 22 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. entusiastas. Hoje, porém, ferramentas de alto nível de programação de software como o OpenCL permitem que designers de software sem habilidades especiais de hardware especifiquem a função de um subsistema, compilem seu código e criem um arquivo de descrição de hardware que eles possam alimentar no fluxo normal do projeto FPGA . Essas ferramentas permitem que os projetistas de software criem aceleradores de hardware com apenas o mínimo - ou, em alguns casos, nenhum - suporte de engenheiros de hardware, abrindo o poder dos FPGAs modernos para um público muito maior. Para blocos que ainda exigem design mais detalhado, os designers usarão um HDL. Verilog é um HDL comum usado na criação de projetos para FPGAs. O HDL. Verilog é um HDL comum usado na criação de projetos para FPGAs. O HDL. Verilog é um HDL comum usado na criação de projetos para FPGAs. O Verilog possui uma sintaxe muito semelhante à linguagem de programação de uso geral usada C. chamada C. Mas, em vez de definir um programa para rodar em um computador, Verilog, VHDL e outras línguas de descrição de hardware descrevem o hardware - o interconectado rede de portas, registros e fios - que o designer deseja criar no FPGA. Você escreve seus programas Verilog na sintaxe apropriada usando um editor de texto simples. Depois de escrever o design do HDL, a próxima etapa é compilar o design do HDL. Na programação FPGA, uma ferramenta de síntese toma o design do HDL como entrada e o converte em uma rede de portas, registros e fios configurados para implementar as funções que o HDL descreve. Em seguida, processos adicionais selecionam quais partici- pantes, registradores e fios a serem usados no FPGA e criam um arquivo de programação que configurará o FPGA quando ele for ligado. Portanto, seu código HDL é mapeado diretamente nos elementos físicos de hardware disponíveis no dispositivo FPGA selecionado. Na programação de microprocessadores, a lógica do programa é mapeada em uma lista de instruções do processador que o processador deve executar. Portanto, é um recurso bem diferente - e maravilhoso - que você pode converter sua lógica diretamente em portas de silício para execução. Durante esse processo, as ferramentas de design também podem se vincular ao design do IP rígido - os blocos predefinidos de hardware já incorporados no FPGA. No fluxo do IP rígido - os blocos predefinidos de hardware já incorporados no FPGA. No fluxo do IP rígido - os blocos predefinidos de hardware já incorporados no FPGA. No fluxo moderno de ferramentas, você só precisa especificar se deseja usar blocos IP rígidos ou flexíveis e como deseja que eles estejam conectados. Você só precisa escrever o código HDL para todos os blocos que ainda não estão disponíveis como IP. Capítulo 2: O que há em um FPGA, afinal? 23Capítulo 2: O que há em um FPGA, afinal? 23FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Verificando o design do sistema Depois de compilar seu código, teste-o antes de implantar no seu FPGA. Antigamente, os designers testavam seus projetos para chips lógicos programáveis muito mais simples, simplesmente testando-os para ver se funcionavam. Mas, devido à complexidade dos FPGAs modernos, não é possível conectar e tentar como uma ferramenta de depuração inicial. A depuração de um design de FPGA geralmente é feita em um ambiente de simulação. Simuladores são aplicativos de software que (como você pode esperar) simulam o comportamento do seu design. Mas a simulação é feita usando um software onde você pode ver o que os registros individuais estão fazendo antes de colocar o design no FPGA. A depuração e a verificação do código geralmente são repetidas até que você tenha certeza de que o código HDL funciona conforme o esperado. A maioria dos desenvolvedores usa o que é chamado de bancada como uma ferramenta para verificar se o FPGA funcionará quando chamado de bancada como uma ferramenta para verificar se o FPGA funcionará quando chamado de bancada como uma ferramenta para verificar se o FPGA funcionará quando conectado ao mundo real. Um testbench pode ser uma mistura de simulação de software e hardware real - projetado por você - que compõe um modelo do sistema que conterá seu FPGA. A maioria dos FPGAs contém dezenas de milhares ou centenas de milhares de portas, portanto você não pode testar todas elas. Em vez disso, um testbench concentra-se nos portões mais significativos que contêm as áreas críticas do seu projeto. Os ambientes de simulação ajudam a isolar áreas específicas e a adicionar auxiliares de depuração nessas áreas, para que o design funcione da maneira que você deseja. Qualquer bom aplicativo de software requer uma extensa documentação que informe ao cliente ou usuário final exatamente como o aplicativo está definido e traz advertências, avisos e assim por diante. Os requisitos de documentação são os mesmos para FPGAs como em qualquer programação baseada em microcontrolador; é claro, o conteúdo será muito diferente. Mapeando o sistema no hardware FPGA No final, os bits que foram sintetizados devem ser carregados no FPGA para implementar as portas do sistema. Como qualquer sistema, se o hardware estiver correto, o design pode evoluir para incluir correções de bugs e aprimoramentos de recursos. A capacidade de editar o código HDL permite design, depuração e 24 FPGAs para manequins, 2ª edição especial da Intel 24 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. verificação no mesmo ambiente, o que ajuda a obter um tempo de lançamento no mercado mais rápido usando um FPGA. Experimentando o design no sistema Depois que o design estiver programado no hardware, verifique se tudo funciona como deveria. O que trabalhando realmente significa para um FPGA? Este estágio como deveria. O que trabalhando realmente significa para um FPGA? Este estágio como deveria. O que trabalhando realmente significa para um FPGA? Este estágio é chamado às vezes fecho. E, como em qualquer dispositivo de hardware, certos critérios de desempenho são fecho. E, como em qualquer dispositivo de hardware, certos critérios de desempenho são esperados. Em muitas aplicações, o consumo de energia é um critério importante de projeto. Pense no seu smartphone, por exemplo. Os smartphones possuem requisitos rígidos de energia para que possam manter uma vida útil aceitável da bateria. Você não gostaria que seu smartphone fosse um poderoso porco; caso contrário, a bateria ficará descarregada após um curto período de uso. A velocidade é outro critério importante. Teste para garantir que cada internet ( conexão de fio entre portões) atinge seu limite de tempo. Por fim, verifique se internet ( conexão de fio entre portões) atinge seu limite de tempo. Por fim, verifique se todos os relógios e pinos de energia estão conectados ao seu FPGA. No ambiente da ferramenta de design do FPGA, você pode inserir seu design, selecionar blocos de IP a serem incluídos e converter o design nos elementos de hardware que realmente existem no FPGA. Então, enquanto o design ainda está em software e é fácil de testar, você pode verificar se funciona conforme o esperado, se a velocidade necessária e até estimar quanta energia o design consumirá. Agora vem a mágica: você pode carregar seu projeto testado no FPGA de destino na placa de protótipo, ligar o sistema e verificar se tudo está funcionando conforme o esperado. Agora você tem hardware personalizado para atender exatamenteàs suas necessidades - meses antes de receber os primeiros chips de amostra de um ASIC. Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Capítulo 3 FPGAs como sistemas Neste capítulo ▶ Entendendo FPGAs como blocos de construção funcionais▶ Entendendo FPGAs como blocos de construção funcionais ▶ Absorvendo o sistema no FPGA com SoCs▶ Absorvendo o sistema no FPGA com SoCs T Este capítulo mostra como os FPGAs são usados no mundo real. AT Este capítulo mostra como os FPGAs são usados no mundo real. AO FPGA é realmente um componente funcional de um sistema e, à medida que os FPGAs aumentam, todo o sistema digital pode ser absorvido em um FPGA, tornando-o um sistema em um chip (SoC). Neste capítulo, examino o conceito de sistema eletrônico. Depois, passo por FPGAs do SoC na complexidade desconcertante de um carro de gama alta. FPGAs em Design de Sistemas Esta seção oferece uma visão mais profunda do processo de design do sistema e como os FPGAs desempenham um papel importante (falo sobre alguns dos princípios básicos no Capítulo 2). A Figura 3-1 mostra o modelo tradicional de design do sistema. As formas de diamante que você vê entre cada bloco representam pontos de decisão no processo. Arquitetura Implementação Integração Cortesia da Intel Corporation. Figura 3-1: Projeto de sistema com pontos de decisão.Figura 3-1: Projeto de sistema com pontos de decisão. 26 FPGAs para manequins, 2ª edição especial da Intel 26 FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Os pontos de decisão no design do sistema são os pontos em que você deve fazer algumas perguntas, como: ✓ O que o sistema precisa fazer? Esta pergunta aparece ✓ O que o sistema precisa fazer? Esta pergunta aparece ✓ O que o sistema precisa fazer? Esta pergunta aparece durante a fase de definição de requisitos e é a questão fundamental. A resposta a essa pergunta é geralmente fornecida pelo gerente de produto em coordenação com o cliente e conduz a fase de coleta de requisitos. ✓ Posso usar meu design existente com alterações? Frequentemente, ✓ Posso usar meu design existente com alterações? Frequentemente, ✓ Posso usar meu design existente com alterações? Frequentemente, existe um projeto de sistema existente que, com algumas alterações, pode atender aos requisitos do sistema. ✓ Quanto do sistema posso deixar em software? este ✓ Quanto do sistema posso deixar em software? este ✓ Quanto do sistema posso deixar em software? este é uma pergunta importante feita durante a fase de design e implementação. A quantidade de sistema que pode ser deixada no software determina que tipos de hardware podem ser usados. FPGAs e microcontroladores podem ser usados para programar o software. ✓ Quanto hardware posso comprar da prateleira? Muitas vezes, ✓ Quanto hardware posso comprar da prateleira? Muitas vezes, ✓ Quanto hardware posso comprar da prateleira? Muitas vezes, um bloco funcional do design do sistema já pode ser implementado em um dispositivo de hardware disponível comercialmente (conhecido como fora da dispositivo de hardware disponível comercialmente (conhecido como fora da prateleira ). Se for esse o caso, pode ser mais econômico adquirir esse hardware prateleira ). Se for esse o caso, pode ser mais econômico adquirir esse hardware ou licenciá-lo como IP, em vez de implementar o design em software ou em hardware personalizado. ✓ Isso já funciona? Esta é a questão fundamental durante ✓ Isso já funciona? Esta é a questão fundamental durante ✓ Isso já funciona? Esta é a questão fundamental durante o estágio de integração e deve ser respondido "Sim" antes que o sistema possa ser implantado. Se a resposta for "Não", você deve manter a iteração sobre o design e a implementação até acertar. Na Figura 3-2, você pode ver que, durante a definição dos requisitos, os projetistas devem considerar as restrições de design, como desempenho, consumo de energia e tamanho. As funções do sistema também são importantes - incluindo quais funções são visíveis, invisíveis ou bloqueadas. Finalmente, os designers realizam experimentos em seu design. Esse processo leva à estimativa inicial do sistema, que indica o tamanho e o escopo reais do sistema e o que será necessário para implementar. Capítulo 3: FPGAs como sistemas 27Capítulo 3: FPGAs como sistemas 27FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Desempenho de restrições Tamanho da potência Funções Visível Invisível Bloqueado Quantização Estimativa antecipada do sistema Cortesia da Intel Corporation. Figura 3-2: Definindo requisitos do sistema.Figura 3-2: Definindo requisitos do sistema. O processo de design para FPGAs é iterativo - você começa com uma idéia do sistema e depois a refina nas definições de transações. Uma transação incluiria sistema e depois a refina nas definições de transações. Uma transação incluiria sistema e depois a refina nas definições de transações. Uma transação incluiria entrada, processamento e saída. Você pode pensar em uma transação como uma transação bancária em que você entrega dinheiro ao caixa, o caixa pega o dinheiro e adiciona o dinheiro à sua conta. Basicamente, uma transação está em qualquer lugar do sistema em que as informações são compartilhadas entre dois componentes do sistema. Depois de definir as transações, você as implementa e depois verifica se elas funcionam e atendem às funções e restrições que você estabeleceu no início. Esse é outro processo iterativo que requer a decisão de quais funções serão executadas no hardware e quais no software, quais podem ser feitas com o IP existente e quais terão que ser gravadas novamente. Sistemas eletrônicos automotivos com FPGAs Esta seção examina um exemplo do mundo real de um sistema. De fato, você pode ter levado esse sistema a funcionar esta manhã. Mostro como os SoCs - muitos dos quais poderiam ser FPGAs - se encaixam em um carro moderno. 28. FPGAs para manequins, 2ª edição especial da Intel 28. FPGAs para manequins, 2ª edição especial da Intel Estes materiais são © 2017 John Wiley & Sons, Inc. Qualquer divulgação, distribuição ou uso não autorizado é estritamente proibido. Transmissão Considere os componentes que compõem o trem de força de um carro e como as pressões regulatórias, de segurança, de custo e de recursos se tornaram eletrônicas: ✓ Motor: A eletrônica do motor controla o combustível,✓ Motor: A eletrônica do motor controla o combustível,✓ Motor: A eletrônica do motor controla o combustível, e válvulas baseadas na demanda de energia, emissões, suavidade, ciclo inicial e estratégia. ✓ Transmissão: As transmissões modernas incluem ✓ Transmissão: As transmissões modernas incluem ✓ Transmissão: As transmissões modernas incluem sistemas para controlar a relação de marchas, sequência de marchas, sinais com base na velocidade, demanda de potência e rotações do motor medidos em rotações por minuto (RPMs). ✓ Freios: Por segurança, sistemas eletrônicos - não apenas o ✓ Freios: Por segurança, sistemas eletrônicos - não apenas o ✓ Freios: Por segurança, sistemas eletrônicos - não apenas o pedal no chão - controle a força de frenagem. ✓ Direção: Automóveis sofisticados têm sofisticado ✓ Direção: Automóveis sofisticados têm sofisticado ✓ Direção: Automóveis sofisticados têm sofisticado recursos da direção hidráulica que controlam a relação, o feedback e o ângulo da direção com base em muitas entradas, e os eletrônicos podem assumir o controle da direção. ✓ Pneus: Nos últimos anos, os avanços nos automóveis ✓ Pneus: Nos últimos anos, os avanços nos automóveis ✓ Pneus: Nos últimos anos, os avanços nos automóveis
Compartilhar