Buscar

fpgas_for_dummies_ebook en pt

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais