• Nenhum resultado encontrado

Verificação funcional : um ambiente de teste computacional para um sistema digital com abordagem na segurança de hardware

N/A
N/A
Protected

Academic year: 2021

Share "Verificação funcional : um ambiente de teste computacional para um sistema digital com abordagem na segurança de hardware"

Copied!
233
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE CAMPINAS

FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO

LEANDRO BARBOSA LIMA

VERIFICAÇÃO FUNCIONAL: UM AMBIENTE DE TESTE COMPUTACIONAL PARA UM SISTEMA DIGITAL COM ABORDAGEM NA SEGURANÇA DE

HARDWARE

CAMPINAS 2018

(2)

UNIVERSIDADE ESTADUAL DE CAMPINAS

FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO

LEANDRO BARBOSA LIMA

VERIFICAÇÃO FUNCIONAL: UM AMBIENTE DE TESTE COMPUTACIONAL PARA UM SISTEMA DIGITAL COM ABORDAGEM NA SEGURANÇA DE

HARDWARE

CAMPINAS 2018

Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas para obtenção do título de Mestre em Engenharia Elétrica, na área de Telecomunicações e Telemática.

ESTE EXEMPLAR CORRESPONDE À VERSÃO FINAL DA DISSERTAÇÃO DEFENDIDA PELO ALUNO LEAN-DRO BARBOSA LIMA E ORIENTADO PELO PROF. DR. YUZO IANO

(3)
(4)

COMISSÃO JULGADORA – TESE DE MESTRADO

Candidato: Leandro Barbosa Lima

Data da Defesa: 29 de novembro de 2018

Título da Tese: “Verificação funcional: um ambiente de teste computacional para um sistema

digital com abordagem na segurança de hardware”

Prof. Dr. Yuzo Iano (Presidente FEEC/UNICAMP)

Prof. Dr. Sílvio Renato Messias de Carvalho (FEEC/UNICAMP) Prof. Dr. Rogério Seiji Higa (Instituto Eldorado)

A ata de defesa, com as respectivas assinaturas dos membros da Comissão Julgadora, encon-tra-se no processo de vida acadêmica do aluno.

(5)

Dedicado aos que sonham com a independência e a libertação da ciência e tecnologia do Brasil.

(6)

AGRADECIMENTOS

A Deus, por inúmeras razões.

À minha família, em especial à minha ESPOSA, meus PAIS e IRMÃOS, que a-poiaram intensamente.

À UNICAMP, pela oportunidade de conquistar o direito de estudar nessa casa de excelência no ensino de Engenharia.

Ao professor Yuzo Iano, ao qual tenho enorme gratidão pela confiança e paciência em todas as etapas deste trabalho.

Aos amigos do CT2/CI-Brasil, Victor Gabriel, Ana Carolina, Wander Martins, Lucas Andrade, Elcio Ishii e Alexsander Deucher, pela pronta ajuda sempre que necessária.

Aos amigos de Freescale, Cezar Santos, Alexandre Lujan, Walter Ensinas e Celso Brites, também pela pronta ajuda sempre que necessária.

Aos amigos de LSITEC, Jose Ramires, Vinicius Martins, Diego Deotti, Dionísio Carvalho, pela convivência sempre pacífica e agradável.

Aos amigos do LCV, Abel, Hermes, Júlio Leon, Agord Pinto Junior, pelo apoio com materiais, ferramentas de teste e pelo compartilhamento de outros materiais fundamen-tais para a realização desse trabalho.

Ao Exército Brasileiro, pela oportunidade e apoio na montagem de um laboratório de sistemas de segurança na Subseção de Segurança da Informação com o uso de ferramentas para testes de circuitos digitais em FPGA com abordagem na segurança de hardware.

(7)

“Nenhum tesouro, por mais valioso que seja, não supera o tesouro da honestidade” (Meishu-Sama)

(8)

RESUMO

Circuitos integrados digitais ou de sinais analógicos e digitais, CIs, desempenham um papel importante e crítico no design e desenvolvimento dos sistemas embarcados dentro de armas inteligentes e sistemas militares. A tremenda demanda por armas inteligentes junto com o surgimento do terrorismo cibernético, bem como a guerra eletrônica e de informação, muda-ram os requisitos de projeto de sensores e sistemas eletrônicos militares. O surgimento deste cenário trouxe a necessidade de verificação do funcionamento de sistemas digitais e analógi-cos. Deste modo, metodologias de verificação funcional começaram a se destacar no ambiente da arquitetura digital. Com isso, a verificação funcional torna-se uma ferramenta indispensá-vel para a construção e implementação de hardware de propósito específico, e também de propósito geral, denominados IP Core; Semicondutor Intelectual Property Core. O trabalho de implementação do controlador digital apresentado utiliza a linguagem de descrição de

hard-ware Verilog e para a verificação e validação dos dados, utiliza-se a e language, como

desen-volvimento de um ambiente de validação, com a finalidade de verificar o comportamento do circuito. A integração da estrutura do sistema do conversor permite que o sistema de controle possa ser simulado, testado e validado sem necessidade de um protótipo. A metodologia eRM do controle digital é baseada na e language, da Versite, utilizando a ferramenta specman para criação do ambiente de validação funcional. O código em Verilog do controle digital é utili-zado para implementação em FPGA, do Xilinx Spartan 3E-500, que contém 500K portas de sistema e 10.476 células lógicas equivalentes, suficiente para o propósito deste trabalho. Os resultados processados na metodologia eRM irão mostrar os resultados alcançados com o uso da metodologia, oferecendo maior produtividade com o reuso do código e também com a construção do ambiente de validação, a fim de oferecer excelentes possibilidades em testes e validação de circuitos digitais. O projeto de reutilização e reaproveitamento de código em verificação é importante para satisfazer as exigências de tempo. O projetista deve ser capaz de reutilizar a propriedade intelectual no projeto como modelo de referência. A reutilização do ambiente de verificação em diferentes projetos economiza tempo e melhora a qualidade do projeto de verificação. Um dos dispositivos de controle de processamento de sinais utiliza como solução de estabilidade de tensão um PID, Proportional–Integral–Derivative, que faz a parte complexa de ajustes de sinais do sistema. Este controle é chamado de conversor estático do tipo Buck, comumente conhecido como fonte chaveada, sendo utilizado em diversas

(9)

apli-cações industriais e militares, podendo também se encontrar em nosso cotidiano, destacando-se destacando-seu uso em dispositivos móveis e espaciais.

Palavras-chave: Hardware, Circuitos Integrados Digitais, Linguagem de Programação, Siste-mas Embarcados, Simulação, SisteSiste-mas de Segurança.

(10)

ABSTRACT

Integrated digital circuits as well mixed-signal circuits, CIs, have an important, and critical, role during the design and development of embedded systems used in smart weapons and military systems. The always-rising demand for smart weapons, due to cyber terrorism issues, electronic warfare, and information warfare, has changed the requirements applied on sensors projects and military systems. This scenario brought the need to verify, intensively, analog and digital systems functionalities. In order for that, functional verification methodol-ogies began to be a mayor question on digital architecture environment and becomes a must-have for hardware construction and implementation, both on specific purpose as well for general purpose hardware, been called by IP Core (Semiconductor Intellectual Property Core). The digital controller implemented in this work uses Verilog hardware description language, and e-language for data validation and verification, building a validation environ-ment used for verify the circuit behavior. The converter system structure integration allows the control system to be simulated, tested and validated without the need of a physical proto-type. The eRM methodology of digital control is based on e language, from Versite, using the Specman tool to create the functional validation environment. The digital controller code, writing in Verilog, due to language portability, is used for FPGA implementation, on Xilinx Spartan 3E-500, which contains 500K system ports and 10,476 equivalent logical cells, suffi-cient for the purpose of this work. The goals achieved by using eRM methodology shown for themselves that code reuse offered by this methodology guides to greater productivity, as well make easier the construction of the validation environment, been able to produce excellent options for tests and validation of digital circuits. During the code verification process, it is important to avoid the code's rewriting, in order to achieve project time deadlines. The de-signer must be able to reuse intellectual property in the project as a reference model. Re-using the verification environment on different projects saves time and improves its quality. One of the signal processing device control uses a PID (Proportional Integral Derivative) as a voltage stability solution, being responsible to control the system’s complex part of signal adjustments. This stability solution is commonly called as Buck-type static converter or also as switched source, and it is used in many industrial and military applications, being found in many of our daily lives devices, as mobile devices, and in space devices.

Keywords: Hardware, Digital Integrated Circuits, Programming Language, Embed-ded Systems, Simulation, Security Systems.

(11)

LISTA DE FIGURAS

Figura 1 Amostra de um Pacote do Chip... ... 26

Figura 2 Estágios do Conversor Tipo Buck ... 36

Figura 3 Conversor CC-CC e Forma de Onda da Tensão de Saída ... 36

Figura 4 Ganho Estático em Função de D ... 37

Figura 5 Exemplo de um Circuito PWM ... 38

Figura 6 Conversor Buck ... 38

Figura 7 Forma de Onda da Tensão ... 39

Figura 8 Ganho Estático em Função de D ... 39

Figura 9 Principais Formas de Onda do Conversor Buck ... 39

Figura 10 Conversor Boost ... 40

Figura 11 Tensão sobre o Indutor ... 41

Figura 12 Ganho Estático em Função de D ... 41

Figura 13 Principais Formas de Onda do Conversor Boost ... 41

Figura 14 Conversor Buck-Boost ... 42

Figura 15 Tensão do Indutor ... 42

Figura 16 Ganho Estático em Função de D ... 43

Figura 17 Principais Formas de Onda do Conversor Buck-Boost ... 43

Figura 18 Conversor Flyback ... 44

Figura 19 Tensão no Primário ... 44

Figura 20 Ganho Estático em Função de D ... 45

Figura 21 Principais Formas de Onda do Conversor Flyback ... 46

Figura 22 Conversor Forward ... 47

Figura 23 Tensão do Indutor ... 47

Figura 24 Ganho Estático em Função de D ... 48

Figura 25 Principais Formas de Onda do Conversor Forward ... 49

Figura 26 Exemplo de Conversor de Malha Fechada ... 49

Figura 27 Contagem de Transistores ... 54

Figura 28 Fluxograma Solucionador de Sementes ... 59

Figura 29 Fluxograma Adição de Sementes ... 60

Figura 30 Abordagem Iterativa ... 60

Figura 31 Manipulação de Restrições... 61

Figura 32 Solução de Esquemas Coloridos ... 62

(12)

Figura 34 Números de Série ... 65

Figura 35 Níveis de Abstração para Domínios de Desenvolvimento ... 67

Figura 36 Metodologia de Desenvolvimento ... 68

Figura 37 Fluxo de Projeto ASIC ... 77

Figura 38 Validação de Caixa Preta ... 78

Figura 39 Validação de Caixa Cinza ... 79

Figura 40 Validação de Caixa Branca ... 79

Figura 41 Validação por Simulação ... 81

Figura 42 Representação de Casos Válidos ... 82

Figura 43 Validação Hierárquica ... 82

Figura 44 Objetivo da Validação Específica ... 83

Figura 45 Bloco de Controle do Conversor Estático de Potência ... 89

Figura 46 Conversor ADC ... 90

Figura 47 Escala de Tempo ... 91

Figura 48 Módulo Top Bloco ... 92

Figura 49 Fios e Interconexões ... 93

Figura 50 Entradas e Saídas ... 94

Figura 51 Instâncias do Módulo UART... 94

Figura 52 Módulo DRA ... 95

Figura 53 Módulo PWM ... 96

Figura 54 Módulo PID ... 96

Figura 55 Módulo Soft Starter ... 97

Figura 56 Module Enable Sum ... 97

Figura 57 Module Edge Detect ... 98

Figura 58 Module Stabilizer ... 98

Figura 59 Integração dos Circuitos ... 100

Figura 60 Sistema de Validação (Ambiente de Verificação) ... 103

Figura 61 Testes Direcionados ... 105

Figura 62 Tarefa Dirigida ... 106

Figura 63 Verificação de IP ... 108

Figura 64 Simulação e Resultados da Interface Serial ... 109

Figura 65 Simulação e Resultados do Acesso Direto aos Registros ... 111

Figura 66 Simulação e Resultados do PID ... 111

Figura 67 Simulação e Resultados do Soft Starter ... 113

(13)

Figura 69 Simulação e Resultados do Soft Starter ... 114

Figura 70 Simulação e Resultados do Soft Starter ... 114

Figura 71 Simulação e Resultados do Soft Starter ... 115

Figura 72 Simulação e Resultados do Soft Starter ... 115

Figura 73 Simulação e Resultados para Estabilizador ... 116

Figura 74 Simulação e Resultados para Estabilizador ... 116

Figura 75 Simulação e Resultados para Estabilizador ... 117

Figura 76 Simulação e Resultados para Estabilizador ... 117

Figura 77 Simulação e Resultados do Somador ... 118

Figura 78 Simulação e Resultados do Edge Detector ... 119

Figura 79 Simulação e Resultados do PID ... 119

Figura 80 Simulação e Resultados do PID ... 120

Figura 81 Simulação e Resultados para PID ... 120

(14)

LISTA DE TABELAS

Tabela 1 Entradas e Saídas ... 91 Tabela 2 Endereços e Opcodes ... 112

(15)

LISTA DE ABREVIATURAS E SIGLAS

ASIC Application Specific Integrated Circuits

CSP Conversor Estático de Potência

FPGA Matriz de Porta Programável no Campo

DSP Digital Signal Processing - Processamento Digital de Sinais

DRA Acesso Direto aos Registros

CC/CC Buck Converter Step-down Converter - Conversor Abaixador

C++ C++ Language - Linguagem de Programação C++ e e Language - Linguagem de Programação e

eRM e Reuse Metodology

IP Propriedade Intelectual

IP Core Semicondutor de Propriedade Intelectual LCD Liquid Crystal Display

LUTs Lookup Table

PID Proportional–Integral–Derivative Controller - Controlador Proporcional–

Integral–Derivativo

PWM Pulse Width Modulation - Modulador por Largura de Pulso

RT Register Transfer - Transferência de Registro

RTL Register Transfer Language - Linguagem de Transferência de Registro

SS Soft Starter

SOC System on Chip

UART Receptor e Transmissor Assíncrono Universal

Verilog Hardware Description Language

VCS Verify Constraint Solver

VIP Verication Intectual Property - Verificação de Propriedade Intelectual

VHSIC Very High Speed Integrated Circuits

VLSI Very Large Scale Integrated - Integração de Milhares de Transistores

(16)

PUBLICAÇÕES DO AUTOR

Leandro Lima, Yuzo Iano, Architecture of a FPGA-Based Control of a Static Power Buck

Converter, Anais do V Simpósio de Processamento de Sinais da UNICAMP (SPS' 14),

Campinas, São Paulo, 2014. ISSN 2359-3334.

DEUCHER, A. ; ISHII, H. A. ; ANDRADE, L. ; LIMA, L. ; RAMIREZ, J. ; FINCO, S. ; FRUETT, F. Configurable Static Power Converter, IC-Brazil program success,

(17)

Sumário

1 Introdução ... 21 1.1 Considerações Iniciais ... 21 1.1.1 Estrutura da Dissertação ... 22 1.1.2 Objetivos e Contribuições ... 24 2 Circuitos Integrados ... 26 2.1 Considerações Iniciais ... 26 2.2 Tipos de ASIC ... 29

2.2.1 ASIC totalmente Customizados ... 30

2.2.2 ASIC Baseados em Célula Padrão ... 30

2.2.3 ASIC Baseados em Matriz de Portas ... 31

2.3 Matriz de Portas Estruturadas ... 32

2.4 Dispositivos Lógicos Programáveis ... 33

2.5 Matrizes de Portas Programáveis em Campo ... 33

3 Sistemas de Eletrônica de Potência ... 35

3.1 Considerações Iniciais ... 35

3.2 Conversores CC-CC ... 36

3.2.1 Conversor Buck ... 38

3.2.2 Conversor Boost ... 40

3.2.3 Conversor Buck-Boost ... 42

3.2.4 Conversor Flyback (Buck-Boost isolado) ... 44

3.2.5 Conversor Forward (Buck isolado) ... 46

3.2.6 Operação em Malha Fechada ... 49

4 Segurança de Hardware e suas Vulnerabilidades ... 50

(18)

4.2 Especificação de Sistema... 51

4.3 Lógica Combinacional e Lógica Sequencial ... 51

5 Segurança de Projeto... 53

5.1 Considerações Iniciais ... 53

5.2 Propriedade Intelectual de Projeto Baseado em Reutilização ... 54

5.3 Marca D’Água ... 56

5.4 Requisitos de Qualidade de uma Marca d’Água ... 57

5.5 Impressão Digital ... 58

5.6 Medição de Hardware ... 63

6 Metodologia de Projeto ... 66

6.1 Considerações Iniciais ... 66

6.2 Domínios de Abstração ... 66

6.3 Fluxo de Desenvolvimento do Circuito ... 68

6.4 Controle Digital ... 69

6.4.1 Considerações Iniciais ... 69

6.4.2 Controle Digital utilizando Circuitos Lógicos Combinacionais ... 69

6.4.3 Controle Digital com FPGA ... 70

6.5 Comparando os Sistemas em FPGA X ASIC ... 71

6.6 Síntese ... 73

6.7 Simulação ... 74

6.8 Verificação e Validação dos Dados ... 75

6.8.1 Fluxo de Validação Funcional do Circuito ... 76

6.8.2 Testes de Caixa Branca e Caixa Preta ... 77

6.9 Desafios da Validação ... 79

6.9.1 Validação Baseada em Simulação ... 81

6.9.2 Terminologia de Validação ... 83

(19)

6.9.3.1 Granularidade ... 64

6.9.3.2 Produtividade ... 65

6.9.3.3 Eficácia ... 65

6.9.3.4 Exaustão ... 65

7 Descrição de Projeto de Hardware ... 87

7.1 Considerações Iniciais ... 87

7.2 Linguagem de Descrição de Hardware Verilog ... 87

7.3 Introdução ... 87

7.4 Descrição de Especificação (Propriedade Intectual) ... 89

7.5 Descrição de Entrada e Saída ... 90

7.6 Descrição de Comportamento de Integração ... 91

7.7 Descrição de Integração... 99

8 Descrição do Ambiente de Validação... 102

8.1 Validação Funcional ... 102

8.2 Arquitetura do Ambiente de Verificação e Validação dos Dados ... 102

8.3 E-RM (Metodologia de Reutilização e)... 104

8.4 Resultado de Simulação... 104

8.5 Validação Baseada em Testes Direcionados ... 104

8.6 Tarefa Dirigida ... 105

8.7 Validação Baseada em Testes de Restrição ... 106

8.8 Ferramenta de Simulação do Ambiente... 107

8.9 UART - Interface Serial ... 110

8.10 DRA - Acesso Direto aos Registros ... 111

8.11 SS - Soft-Starter ... 112

8.12 Estabilizador ... 115

8.13 Somador ... 117

(20)

8.15 PID - Proporcional Integral Derivator ... 118

8.16 PWM - Pulso com Modulador ... 121

9 Conclusões ... 123 9.1 Conclusão Final ... 123 9.2 Trabalhos Futuros ... 124 Referências bibliográficas ... 126 Apêndice A ... 129 Apêndice B... 190

(21)

1 Introdução

1.1 Considerações Iniciais

Surgidas no contexto de revolução informacional, a "Revolução Telemática" ou Terceira Revolução Industrial [2], NTIC (Novas Tecnologias de Informação e Comunicação), tais tecnologias e métodos para se comunicar foram desenvolvidos gradativamente desde a segunda metade da década de 1970 e, principalmente, nos anos 1990. A imensa maioria delas se caracteriza por agilizar, horizontalizar e tornar menos palpável (fisicamente manipulável) o conteúdo da comunicação, por meio da digitalização e da comunicação em redes (mediada ou não por computadores) para a captação, transmissão e distribuição das informações (texto, imagem estática, vídeo e som). Considera-se que o advento dessas novas tecnologias (e a forma como foram utilizadas por governos, empresas, indivíduos e setores sociais) possibili-tou o surgimento da "sociedade da informação". Alguns estudiosos já falam da “sociedade do conhecimento” para destacar o valor do capital humano na sociedade estruturada em redes telemáticas. Sendo assim, o surgimento de novas tecnologias trouxe consigo novas ameaças e um novo tipo de guerra.

Os produtos de tecnologia da informação e comunicação são fornecidos “no esta-do em que se encontram”, com garantias limitadas e, no caso de softwares, licenças que ex-cluem o fornecedor da responsabilidade por consequências de mau funcionamento ou falha. A maioria dos Contratos de Licença de Usuário Final (EULA) é longa e difícil de entender por um leigo, que tem que aceitar os termos e condições para instalar o software. Muitos dos apps projetados para smartphones e tablets podem não ter garantia de qualidade adequada e alguns foram solicitados a conter softwares mal intencionados, Malwares. Tal cenário intensifica a necessidade de se verificar o funcionamento de sistemas digitais, como uma ferramenta que provê a segurança da funcionalidade de sistemas digitais e analógicos, assegurando resultados funcionais.

Para que a produção de um circuito integrado alcance a margem segura de funcio-nalidade, é necessário utilizar-se de testes de estresse já na fase de projeto do circuito, com a verificação e validação funcional de dados que, conforme [3], aumentou a complexidade dos sistemas em escala exponencial devido à quantidade de ferramentas e recursos a serem

(22)

utili-zados. Portanto, metodologias de verificação funcional começaram a se destacar no ambiente da arquitetura digital. Deste modo, a verificação funcional de validação de dados se torna uma ferramenta de segurança fundamental para o desenvolvimento, implementação e construção do hardware. Com essa ferramenta, o engenheiro de verificação tem uma probabilidade maior de encontrar erros durante o desenvolvimento do projeto. Segundo alguns autores, estima-se que cerca de 70% (setenta por cento) dos recursos destinados ao processo de construção do

hardware são gastos na verificação funcional.

Poucos foram os trabalhos realizados com pesquisas em verificação de dispositi-vos com abordagem em metodologias seguras e funcionais, sendo apenas alguns estudos vis-tos no domínio da verificação e validação funcional de dados [4]. Devido a esta falta de co-nhecimento, mais pesquisas precisam ser feitas na área de segurança de hardware, abordando a verificação funcional e validação de dados como uma ferramenta para a segurança de

hard-ware, a fim de encontrar falhas evitando possíveis ameaças e agindo como contramedidas

seguras e funcionais. A este respeito, o trabalho aqui apresentado visa à relevância da metodo-logia eRM como uma ferramenta que proporciona segurança de hardware, executando a real funcionalidade do circuito, tendo como objetivo descobrir falhas de codificação que podem gerar alterações na saída do circuito, executando determinadas funções e procedimentos de forma errada, podendo pôr em risco a produção de resultados de sistemas digitais em relação à funcionalidade do circuito.

Com o devido valor, a metodologia de reutilização e reaproveitamento de código eRM surge como importante elemento para satisfazer as exigências de tempo e mercado. O projetista deve ser capaz de reutilizar a propriedade intelectual no projeto, como modelo de referência. Tal reutilização do ambiente de verificação em diferentes projetos economiza tem-po e melhora a qualidade do projeto de verificação.

1.1.1 Estrutura da Dissertação

O ponto de partida deste trabalho é a utilização de um sistema de controle de ten-são do tipo Buck, o planejamento na construção do circuito digital com base em um dispositi-vo com características de baixo consumo de energia, oferecendo como contribuição ao desen-volvimento do circuito digital a metodologia eRM como uma ferramenta segura de verifica-ção e validaverifica-ção de dados com a intenverifica-ção de se alcançarem elevados níveis de confiabilidade do circuito. Assim, este trabalho será estruturado da seguinte maneira:

(23)

 Capítulo 1: Introdução, considerações iniciais, objetivos e contribuições e es-truturação da dissertação.

 Capítulo 2: Circuitos Integrados; apresenta uma intodução sobre o desenvol-vimento de CIs, setores da indústria, tipos diferentes de CIs, evolução e diferentes tipos de aplicações, novos CIs. Os diferentes CIs de propósito geral e de propósito específico também são descritos e são citados alguns exemplos. A opção pelo con-trole digital através de um DSP (processador de sinais digitais) ou de FPGA (ma-trizes de portas digitais reprogramáveis) é abordada.

 Capítulo 3: Sistemas de eletrônica de potência; apresenta a estrutura de potên-cia utilizada para simular a metodologia, suas características e formas de controle. A estrutura de potência a ser utilizada é um conversor de CA (corrente alternada) para CC (corrente contínua), abaixador de tensão, também conhecido como

BUCK. Existem, basicamente, duas formas de controle do BUCK: o controle

ana-lógico e o controle digital.

Capítulo 4: Segurança de hardware e suas vulnerabilidades; apresenta primei-ramente a relevância da segurança de hardware, pontos significativos quanto à confiança do circuito na cadeia de distribuição de microchips, risco de haver

backdoors no sistema, casos de projetistas que projetam sistemas utilizando IPs de

terceiros, casos que podem potencialmente introduzir vulnerabilidades de segu-rança no sistema e casos de projetistas com intenções maliciosas e fundições ma-liciosas que podem adicionar trojans de hardware no hardware.

 Capítulo 5: Segurança de projeto; apresenta a forma como um projetista de

hardware ou uma empresa pode proteger sua IP (propriedade intelectual) de

jeto contra uso indevido, alerta para alguns passos durante a fase de projeto, teção do projeto, apoio de proteção da lei e algumas técnicas disponíveis para pro-teger propriedades intelectuais.

 Capítulo 6: Metodologia de projeto; apresenta alguns conceitos tradicionais de desenvolvimento de sistemas, construção de componentes elementares, como portas lógicas e transistores, criação de linguagens, principais vantagens do uso das HDLs, fluxo de projeto, comparativos entre FPGA e ASICS. A verificação funcional e validação de dados com uma visão estratégica para testes funcionais de IPs abordando a metodologia eRM como ferramenta fundamental para se projetar CIs seguros e funcionais são uma das contribuições deste trabalho.

(24)

Capítulo 7: Descrição do projeto de hardware; apresenta um estudo sobre as linguagens de descrição de hardware HDL(Hardware Description Language) que podem descrever sistemas multidisciplinares com um mesmo formato ou padrão e em um mesmo ambiente de simulação. A metodologia de desenvolvimento através de linguagens de descrição de hardware pode ser feita através de vários níveis de abstração e, em alguns casos, a descrição em HDLs pode ser diretamente implementada no sistema com grande chance de êxito.

 Capítulo 8: Descrição do ambiente de verificação e validação; apresenta a des-crição do ambiente de testes, metodologia eRM como uma ferramenta fundamen-tal para se conseguir testar a funcionalidade de IPs, linguagem e arquitetura de testes, componentes de verificação e validação, checagem de dados e resultados de simulação. A reutilização de código em verificação funcional para sistemas di-gitais como estratégias de segurança.

 Capítulo 9: Conclusões e trabalhos futuros; apresenta as conclusões e perspec-tivas de trabalhos Futuros.

1.1.2 Objetivos e Contribuições

As contribuições deste trabalho podem ser declaradas como: (1) conhecimento de um sistema de controle de tensão do tipo Buck; (2) projeto de hardware seguro; (3) vantagens da metodologia eRM como uma ferramenta segura de validação e teste; (4) reutilização de código, verificação funcional e validação dos dados como parte da segurança do sistema; (5) resultados obtidos.

Como relevância, este trabalho apresenta a abordagem na metodologia eRM como uma ferramenta segura na fase de projeto de hardware, a metodologia de verificação funcio-nal de reutilização de código eRM, que se diferencia pela sua programação de códigos orien-tada a aspectos tornando a validação e verificação funcional no domínio da programação ori-entada a objetos. Possibilita a um engenheiro de software utilizar sua experiência com pro-gramação de códigos, para se inserir no universo da indústria de circuitos integrados, assim como físicos, matemáticos que possuem habilidades com a respectiva técnica de gerar códigos e realizar testes capazes de localizar falhas em um circuito ainda em fase de projeto, realizan-do a verificação funcional de um dispositivo de controle de tensão, utilizanrealizan-do ferramentas computacionais, visando ao aumento da produtividade e eficiência de execução de testes

(25)

dire-cionados e aleatórios. A metodologia de verificação funcional eRM ( eReuse Methodology), além de alta produtividade, proporciona um direcionamento na construção de componentes de testes de circuitos digitais, sendo possível criar pontos de testes específicos com a finalidade de verificar a real funcionalidade do sistema. Assim agrega-se valor ao circuito integrado, devido ao aumento na segurança de seu funcionamento, atingindo, de fato, o que foi proposto na especificação técnica do circuito integrado, além de oferecer qualidade na execução de suas funcionalidades através de checagem de dados e checagem funcional em um mesmo am-biente de teste de validação.

(26)

2 Circuitos Integrados

2.1 Considerações Iniciais

Conforme definição [5], um ASIC, Application Specific Integrated Circuits, é um circuito integrado para ser aplicado com propósito específico.

A figura 1(a) mostra um pacote IC detalhando um arranjo de grade com pinos, ou PGA, mostrando de cabeça para baixo os pinos, que passarão por buracos em uma placa de circuito impresso. Geralmente chamam o pacote de chip, mas, como se pode ver na Figura 1.0 (b), o próprio chip de silício é montado na cavidade sob a tampa selada.

Figura 1 – Amostra de um Pacote do Chip [5]

Segundo [5], um pacote PGA é geralmente feito de um material cerâmico, mas os pacotes de plástico também são comuns.

O tamanho físico de um molde de silício varia de poucos milímetros a mais de 1 (uma) polegada em um lado, mas em vez disso, geralmente medimos o tamanho de um IC pelo número de portas lógicas ou pelo número de transistores que o IC contém. Como uma unidade de medida equivalente pode-se ter uma porta NAND de duas entradas .

Muitas vezes se utiliza apenas o termo 'portas', em vez de portas equivalentes, quando medimos o tamanho do chip. Não pode ser confundido com o terminal de porta de um transistor. Por exemplo, um IC de 100 k-Gate contém o equivalente a 100.000 portas NAND de duas entradas.

A indústria de semicondutores evoluiu dos primeiros IC do início dos anos 70 e amadureceu rapidamente desde então. Os IC iniciais de SSI (integração em pequena escala) continham algumas portas lógicas (1 a 10), portas NAND, portas NOR e assim por diante, totalizando algumas dezenas de transistores. A era da integração de média escala (MSI)

(27)

au-mentou a gama de lógica integrada e disponível para contadores e funções lógicas semelhan-tes e de maior escala. A era da LSI (integração em larga escala) embalou uma lógica ainda maior de funções, como os primeiros microprocessadores, em um único chip. A era da VSLI (integração em escala muito grande) agora oferece microprocessadores de 64 bits, completos, com memória cache e unidades aritméticas de ponto flutuante bem acima de um milhão de transistores em um único pedaço de silício. À medida que a tecnologia de processo CMOS melhora, os transistores continuam a ficar menores e os IC retêm cada vez mais transistores. Algumas regiões, especialmente no Japão, usavam o termo ULSI (integração de escala ultra-larga), mas a maioria das regiões utiliza o termo VLSI.

Os CI mais antigos usavam a tecnologia bipolar e a maioria dos IC lógicos usa-vam TTL (lógica transistorizada de transistor) ou ECL (lógica acoplada por emissor). Embora inventado antes do transistor bipolar, o MOS (transistor de metal óxido de silício) foi inicial-mente difícil de fabricar devido a problemas com a interface de óxido. Como esses problemas foram gradualmente resolvidos, a tecnologia MOS (nMOS ou NMOS) do metal-gate

n-channel, que se desenvolveu na década de 1970 [5], exigia menos etapas de mascaramento

naquela época, era mais densa e consumia menos energia do que os IC bipolares equivalentes. Isso significava que, para um determinado desempenho, um IC MOS era mais barato que um IC bipolar, o que levou ao investimento e crescimento do mercado de CI, MOS.

No início dos anos 80, as portas de alumínio dos transistores foram substituídas por portas de polissilício, mas o nome MOS permaneceu. A introdução do polissilício como material de porta foi uma grande melhoria na tecnologia CMOS, tornando mais fácil a fabri-cação de dois tipos de transistores, sendo transistores MOS de canal-n e canal-p, no mesmo CI, CMOS (MOS complementar) tecnologia. A principal vantagem do CMOS sobre o NMOS é o menor consumo de energia. Outra vantagem de uma porta de polissilício foi a simplifica-ção do processo de fabricasimplifica-ção, permitindo que os dispositivos fossem reduzidos em tamanho.

Existem quatro transistores CMOS em uma porta NAND de duas entradas (e tam-bém numa porta NOR de duas entradas), portanto, para se fazer a conversão entre portas e transistores, multiplica-se o número de portas por 4 (quatro), para obter o número de transisto-res. Também podemos medir um CI pelo menor tamanho de recurso (aproximadamente meta-de do comprimento do menor transistor) impresso no CI. As dimensões do transistor são me-didas em mícron (um mícron, é um milionésimo de metro). Assim, um circuito integrado de 0,5 mícrons ou dizem que este é construído em um, ou com processo de 0,5 mícrons, o que significa que os transistores mais pequenos têm 0,5 mícrons de comprimento obtendo um ró-tulo especial, de l ou lambda, para este de menor tamanho de recurso.

(28)

Um processo CMOS submícron é tão moderno e complicado quanto um processo bipolar submicrométrico ou BiCMOS (uma combinação de bipolar e CMOS). No entanto, os CMOS CI estabeleceram uma posição dominante, sendo fabricados em volume muito maior do que qualquer outra tecnologia e, portanto, devido à economia de escala, o custo de CMOS IC é menor do que um bipolar ou BiCMOS IC para a mesma função. O bipolar e BiCMOS IC são usados para necessidades especiais. Por exemplo, a tecnologia bipolar geralmente é capaz de lidar com tensões mais altas que o CMOS. Isso torna os IC bipolares e BiCMOS úteis em eletrônica de potência, carros, telefone, circuitos e assim por diante.

Alguns IC de lógica digital e seus equivalentes analógicos (conversores analógi-cos/digitais, por exemplo), são peças padrão ou IC padrão. Pode-se selecionar IC padrão de catálogos e livros de dados e comprá-los de distribuidores. Fabricantes e projetistas de siste-mas podem usar a mesma peça padrão em uma variedade de diferentes sistesiste-mas microeletrô-nicos (sistemas que usam microeletrônica ou IC).

Com o advento do VLSI na década de 1980, os engenheiros começaram a perce-ber as vantagens de projetar um IC personalizado ou adaptado a um determinado sistema ou aplicativo, em vez de usar somente IC padrão. O design de sistemas microeletrônicos, em seguida, torna-se uma questão de definir as funções que se podem implementar usando IC padrão e, em seguida, implementar as funções lógicas restantes com um ou mais IC personali-zados. Com o VLSI tornou-se possível construir um sistema a partir de um número menor de componentes, combinando muitos IC padrão em alguns IC personalizados. Construir um sis-tema microeletrônico com menos IC permite reduzir custos e melhorar a confiabilidade.

Naturalmente, há muitas situações em que não é apropriado usar um IC personali-zado para cada parte de um sistema microeletrônico. Precisando-se de uma grande quantidade de memória, por exemplo, ainda é melhor usar um IC de memória padrão, DRAM (memória de acesso aleatório dinâmica) ou SRAM estática (RAM estática ou sRAM), em conjunto com IC's personalizados.

Uma das primeiras conferências a serem dedicadas a este segmento emergente da indústria de IC foi a CICC IEEE (Conferência Customizada de Circuitos Integrados), e os procedimentos desta conferência anual formaram uma referência útil para o desenvolvimento de IC personalizados. À medida que tipos diferentes de IC personalizados começaram a evo-luir para diferentes tipos de aplicações, esses novos IC deram origem a um novo termo.

Os circuitos integrados de propósito geral [5], que não são ASIC, incluem peças padrão, como: chips de memória vendidos como ROMs, itens de commodity, DRAM e S-RAM, microprocessadores; IC equivalentes a TTL ou TTL nos níveis SSI, MSI e LSI.

(29)

ASICS, circuitos integrados de propósito específico [5], incluem: um chip para um urso de brinquedo que fala; um chip para um satélite; um chip projetado para manipular a

interface entre a memória e um microprocessador para uma CPU da estação de trabalho; e um chip contendo um microprocessador como uma célula junto com outra lógica.

2.2 Tipos de ASIC

Os IC são feitos em uma fina bolacha de silício circular, com cada bolacha con-tendo centenas de matrizes (às vezes é usado dado ou dados para o plural de matrizes). Os transistores e fiação são feitos de várias camadas (geralmente entre 10 e 15 camadas distintas) construídas umas sobre as outras. Cada camada de máscara sucessiva tem um padrão que é definido usando uma máscara semelhante a um slide fotográfico de vidro. A primeira meia dúzia de camadas define os transistores. A última meia dúzia de camadas define os fios de metal entre os transistores (a interconexão). Um IC personalizado completo inclui algumas (possivelmente todas) células lógicas personalizadas e todas as camadas de máscara persona-lizadas. Um microprocessador é um exemplo de um designer de IC totalmente personalizado que gasta muitas horas aproveitando ao máximo cada mícron quadrado do espaço do chip do microprocessador disponível. A personalização de todos os recursos do IC dessa maneira permite que os designers incluam circuitos analógicos, células de memória otimizadas ou es-truturas mecânicas em um IC, por exemplo. IC personalizados são os mais caros para fabricar e projetar. O tempo de fabricação (o tempo necessário para fazer um IC não inclui o tempo de

design) é geralmente de oito semanas para um IC totalmente personalizado. Esses IC

custo-mizados completos geralmente são destinados a um aplicativo específico, chamando alguns deles de ASICs customizados [5].

Os ASIC customizados que mais interessam são ASICs semicustos, para os quais todas as células lógicas são pré-projetadas e algumas (possivelmente todas) camadas de más-cara são customizadas. O uso de células pré-projetadas de uma biblioteca de células facilita o projeto. Existem dois tipos de ASIC semicomponentes que abordaremos: ASIC baseados em células padrão e ASIC baseados em array de gate. Em seguida, descreveremos os ASIC pro-gramáveis, para os quais todas as células lógicas são pré-projetadas e nenhuma das camadas de máscara é personalizada. Existem dois tipos de ASIC programáveis: o dispositivo lógico programável e, o mais novo membro da família ASIC, o sistema de portas programáveis em campo.

(30)

2.2.1 ASIC totalmente Customizados

Em um ASIC totalmente personalizado, um engenheiro projeta algumas ou todas as células lógicas, circuitos ou layout especificamente para um ASIC. Isso significa que o projetista abandona a abordagem de usar células pré-testadas e pré-caracterizadas para todo ou parte desse design. Faz sentido adotar esta abordagem, somente se não houver bibliotecas de células disponíveis que podem ser usadas para todo o design. Isso pode ocorrer, porque as bibliotecas de células existentes não são rápidas o suficiente ou as células lógicas não são pe-quenas o suficiente ou consomem muita energia. Você pode precisar usar um design persona-lizado, se a tecnologia ASIC for nova ou tão especializada que não haja bibliotecas de células existentes, ou porque o ASIC é tão especializado que alguns circuitos devem ser personaliza-dos. Cada vez menos IC personalizados estão sendo projetados, devido aos problemas com essas partes especiais do ASIC [5].

Historicamente, a tecnologia bipolar tem sido usada para funções analógicas de precisão. Segundo [5], existem algumas razões fundamentais para isso e, em todos os circui-tos integrados, a correspondência das características dos componentes entre os chips é muito fraca, enquanto a correspondência das características entre os componentes no mesmo chip é excelente. Suponha-se que foram encontrados os seguintes transistores T1, T2 e T3 em um ASIC analógico/digital. Os três transistores são todos do mesmo tamanho e são construídos de maneira idêntica.

Os transistores T1 e T2 estão localizados adjacentes entre si e têm a mesma orien-tação. O transistor T3 tem o mesmo tamanho de T1 e T2, mas está localizado no outro lado do

chip e tem uma orientação diferente. IC são feitos em lotes chamados lotes de bolachas, wa-fer. Um lote de bolacha é um grupo de bolachas de silício que são processadas em conjunto.

Geralmente há entre 5 e 30 bolachas em lote. Cada wafer pode conter dezenas ou centenas de

chips, dependendo do tamanho do IC e da bolacha.

2.2.2 ASIC Baseados em Célula Padrão

Um ASIC baseado em célula (IC baseado em célula, ou CBIC, um termo comum no Japão, pronunciado sea-bick) usa células lógicas pré-projetadas (portas AND, portas OR, multiplexadores e flip-flops, por exemplo), conhecidas como células padrão. Poderíamos

(31)

apli-car o termo CBIC a qualquer IC que use células, mas é geralmente aceito que um ASIC ou CBIC baseado em célula significa um ASIC baseado em célula padrão.

As áreas de célula padrão (também chamadas de blocos flexíveis) em uma CBIC são construídas de linhas de células padrão como uma parede construída de tijolos. As áreas de célula padrão podem ser usadas em combinação com células maiores pré-projetadas, talvez microcontroladores ou até mesmo microprocessadores, conhecidos como megacélulas. As

megacells também são chamadas de megafunctions, blocos personalizados completos, SLMs

(macros no nível do sistema), blocos fixos, núcleos ou FSB, Functional Standard Blocks. O projetista ASIC define apenas o posicionamento das células padrão e a interco-nexão em uma CBIC. No entanto, as células padrão podem ser colocadas em qualquer lugar do silício. Isso significa que todas as camadas de máscara de uma CBIC são personalizadas e exclusivas de um determinado cliente. A vantagem dos CBIC, segundo [5], é que os projetis-tas economizam tempo, dinheiro e reduzem o risco usando uma biblioteca de células padrão pré-projetada, pré-testada e pré-caracterizada. Além disso, cada célula padrão pode ser otimi-zada individualmente. Durante o projeto da biblioteca de células, todo e qualquer transistor em cada célula padrão pode ser escolhido para maximizar a velocidade ou minimizar a área, por exemplo. As desvantagens são o tempo ou a despesa de projetar ou comprar a biblioteca de células padrão e o tempo necessário para fabricar todas as camadas do ASIC para cada novo design.

2.2.3 ASIC Baseados em Matriz de Portas

Em um array de portas ou ASIC baseado em array de portas [5], os transistores são predefinidos na placa de silício. O padrão predefinido de transistores em um array de gate é o array base, e o menor elemento que é replicado para fazer o array base (como um desenho de MC Escher ou tiles em um floor) é a célula base (às vezes chamada de primitiva) . Apenas as poucas camadas superiores de metal, que definem a interconexão entre os transistores, são definidas pelo projetista usando máscaras personalizadas. Para distinguir esse tipo de gate

array de outros tipos, é geralmente chamado de MGA Masked Gate Array. O projetista o

escolhe de uma biblioteca de matriz de portas de células lógicas projetadas e pré-caracterizadas. As células lógicas em uma biblioteca de gate-array são frequentemente cha-madas de macros. A razão para isso é que o layout da célula base é o mesmo para cada célula lógica, e somente a interconexão (dentro das células e entre as células) é personalizada, de

(32)

modo que existe uma semelhança entre as macros de gate-array e uma macro de software. Na IBM, [5] As macros gate-array, são conhecidas como livros (para que os livros façam parte de uma biblioteca), mas este termo descritivo não é muito usado por outras companhias de manufatura.

Podemos concluir as etapas de difusão que formam os transistores e, depois, ar-mazenar as bolachas (às vezes chamamos uma matriz de gate de uma matriz predifusiva por esse motivo). Como somente as interconexões de metal são exclusivas de um MGA, podemos usar as wafers armazenadas para diferentes clientes, conforme necessário. Usar wafers pré-fabricados até as etapas de metalização reduz o tempo necessário para fazer um MGA, o tem-po de retorno, para alguns dias ou no máximo duas semanas. Os custos de todas as etapas ini-ciais de fabricação de uma MGA são compartilhados para cada cliente e isso reduz o custo de uma MGA em comparação a um projeto ASIC totalmente personalizado ou de célula padrão.

2.3 Matriz de Portas Estruturadas

Um gate array incorporado ou um array de gate estruturado [5] combina alguns dos recursos de CBIC e MGA. Uma das desvantagens do MGA é a célula base do array de

gate fixo. Isso torna a implementação da memória, por exemplo, difícil e ineficiente. Em um array de gate embutido, reservamos parte da área de IC e a dedicamos a uma função

específi-ca. Esta área incorporada pode conter uma célula base diferente que é mais adequada para construir células de memória, ou pode conter um bloco de circuito completo, como um micro-controlador.

Uma matriz de gate integrada oferece a eficiência aprimorada da área e o aumento do desempenho de uma CBIC, mas com o custo mais baixo e o retorno mais rápido de uma MGA. Uma desvantagem de um array de gate embutido é que a função incorporada é fixa. Por exemplo, se uma matriz de portas incorporadas contiver uma área reservada para uma memória de 32 k bits, mas onde se precisa apenas de uma memória de 16 k bits, talvez seja necessário gastar metade da memória incorporada. No entanto, isso ainda pode ser mais efici-ente e mais barato do que implementar uma memória de 32 k bits usando macros em uma matriz SOG.

Os fornecedores de ASIC podem oferecer várias estruturas de gate array incorpo-radas contendo diferentes tipos e tamanhos de memória, bem como uma variedade de funções incorporadas. As empresas ASIC que desejam oferecer uma ampla gama de funções

(33)

incorpo-radas devem garantir que clientes suficientes usem cada gate array integrado para oferecer vantagens de custo em relação a um gate array customizado ou CBIC.

2.4 Dispositivos Lógicos Programáveis

PLD (dispositivos lógicos programáveis) são IC padrão que estão disponíveis em configurações padrão, a partir de um catálogo de peças, e são vendidos em volume muito alto para muitos clientes diferentes. No entanto, os PLD podem ser configurados ou programados para criar uma peça personalizada para um aplicativo específico e, portanto, também perten-cem à família de ASIC. Os PLD usam diferentes tecnologias para permitir a programação do dispositivo [5].

2.5 Matrizes de Portas Programáveis em Campo

Um passo acima do PLD em complexidade é o array de gate programável em campo (FPGA). Há pouca diferença entre um FPGA e um PLD; um FPGA é geralmente mai-or e mais complexo que um PLD. De fato, algumas empresas que fabricam ASIC programá-veis chamam seus produtos de FPGAs e alguns chamam de PLD complexos. Os FPGA são o mais novo membro da família ASIC e estão crescendo rapidamente em importância, substitu-indo o TTL em sistemas microeletrônicos. Embora um FPGA seja um tipo de array de gate, não se considera o termo gate-array baseados em ASIC para incluir FPGA. Isso pode mudar, conforme os FPGA e MGA comecem a ser mais parecidos [5].

As características essenciais de um FPGA:

 Nenhuma das camadas de máscara é personalizada.

 Um método para programar as células lógicas básicas e a interconexão.

 O núcleo é uma matriz regular de células lógicas básicas programáveis que po-dem implementar lógica combinacional e sequencial (flip-flops).

 Uma matriz de interconexão programável envolve as células lógicas básicas.  Células de E/S programáveis circundam o núcleo.

Os FPGA (Field Programmable Gate Arrays) são dispositivos versáteis que per-mitem que uma função seja implementada, mapeando-a na lógica (recursos) pré-existente do FPGA. O mapeamento é referido como sua configuração. Dispositivos FPGA podem ser

(34)

sen-síveis a eventos únicos (SEU) e outras falhas, devido à ionização de partículas em sua confi-guração e em sua lógica pré-existente. Na eletrônica, estratégias de mitigação foram desen-volvidas para abordar ambas as preocupações. Alguns fornecedores de FPGA implementam estruturas de dispositivos reforçadas (redes de roteamento, relógios, flip-flops e configura-ção). Esses dispositivos geralmente têm velocidades funcionais de sistema de até 350 MHz e são configuráveis uma única vez. Outros fornecedores da FPGA estão criando dispositivos comerciais com vantagens como: menor custo, menor voltagem do núcleo, velocidades de sistema de até 500 MHz, reconfigurabilidade e maior disponibilidade de recursos. No entanto, a inserção desses dispositivos comerciais prontos para uso (COTS) em aplicativos críticos do sistema pode exigir a inclusão de circuitos para mitigar problemas de configuração e lógica e, assim, aumentar a complexidade do design geral.

O desenvolvimento de projetos ASIC (Application Specific Integrated Circuits), se comparado à tecnologia de dispositivos FPGA (Field Programmable Gate Array), perde devido ao alto custo na fabricação quando em baixa demanda, sendo vantajoso somente para uma alta demanda. Não foi mencionado ainda que dispositivos ASIC não ofereçam nenhum conjunto de ferramentas, ficando esta responsabilidade para quem vai montar e vender o pro-duto final. Em FPGA ou ASIC, o desenvolvimento de circuitos digitais é produzido através da linguagem de descrição de hardware Verilog ou VHSIC, sendo ambas muito utilizadas tanto no meio industrial e principalmente acadêmico. Citando novamente uma das grandes vanta-gens na utilização de FPGA, são os conjuntos de ferramentas de software visuais, como gera-dores de sistemas que possibilitam a comunicação entre dispositivos construídos em FPGA por dispositivos desenvolvidos, dentre esses o Simulink que possibilita a modelagem de dis-positivos utilizando recursos e funções aritméticas e lógicas. Esses recursos incluem disposi-tivos dedicados DSP (Digital Signal Processor), multiplicadores, memórias de porta dupla, tabelas de pesquisa, LUT, registros, buffers tri-state, multiplexadores e controladores de reló-gio digital. Além disso, FPGA contém mecanismos sofisticados de entrada e saída que podem lidar com uma ampla gama de requisitos de largura de banda e de tensão. Em computação os dispositivos de entrada e saída são interconectados por um conjunto de fios e controlados por barramentos que atendem às requisições dos dispositivos de forma hierárquica.

(35)

3 Sistemas de Eletrônica de Potência

3.1 Considerações Iniciais

Os setores industriais, militares e comerciais vêm apresentando, cada vez mais, equipamentos eletrônicos que proporcionam maior comodidade e eficiência. Entretanto al-guns equipamentos eletrônicos apresentam cargas não lineares, proporcionando uma relação não linear entre a tensão e a corrente da rede [6]. Estes equipamentos drenam da rede elétrica correntes não sinoidais, que provocam uma série de problemas nas instalações, assim como para os sistemas de distribuição e transmissão, tais como[7] [8]:

 Baixo fator de potência;

 Distorção da tensão da rede no ponto de acoplamento comum, devido à impe-dância do circuito ou da instalação;

 Baixa eficiência;

 Interferência em alguns instrumentos e equipamentos.

Existem algumas soluções preventivas para diminuir, ou até mesmo eliminar, os efeitos destas cargas não lineares (equipamentos eletrônicos) conectados ao sistema elétrico, entre as quais a utilização de equipamentos que apresentem uma característica resistiva para a rede ou uma baixa distorção harmônica de corrente [8] [7]. Uma dessas soluções preventivas é o conversor estático tipo BUCK [9], que pode ser usado com um pré-regulador de fator de potência elevado. Ele é formado por três etapas: o estágio de retificação e filtragem, o conver-sor BUCK e um controle através de modulação por largura de pulso PWM, Pulse Width

Mo-dulation. O conversor BUCK é um conversor abaixador que tem como característica principal

a diminuição da tensão média de saída em relação ao seu valor de pico da entrada. O BUCK vem sendo muito utilizado, pois com o mesmo pode-se obter uma correção do fator de potên-cia para muito próximo da unidade possuindo proteção contra curto-circuito e inexistênpotên-cia de corrente de partida excessiva. O conversor abaixador CC/CC é formado por três estágios con-forme ilustrado na figura 2.

(36)

Figura 2 - Estágios do Conversor Tipo Buck [10]

3.2 Conversores CC-CC

Conversores CC-CC são sistemas formados por semicondutores de potência, ope-rando como interruptores, e por elementos passivos, normalmente indutores e capacitores, que têm por função controlar o fluxo de potência de uma fonte de entrada para uma fonte de saída [11].

A figura 3 mostra o diagrama elétrico e a forma de onda da tensão de saída de um conversor CC-CC básico.

Figura 3 - Conversor CC-CC e Forma de Onda da Tensão de Saída [12]

O intervalo de comutação é definido como:

(1) Fs é a frequência de comutação [11]. Esta frequência tende a ser a mais alta possí-vel, diminuindo assim o volume dos elementos magnéticos e capacitivos do conversor.

Vi Ro S + -Vo Vo Vi Ton Ts

(37)

A razão entre o intervalo de comutação (Ts) e o intervalo de condução do

interrup-tor S (Ton) é definido por razão cíclica e dada por:

(2) A tensão média na saída deste conversor é calculada por:

(3) Usando Ton = DTs , tem-se: (4)

A relação entre a tensão de saída e a tensão de entrada é definida por ganho estáti-co do estáti-conversor e dada então por:

(5) Pelo gráfico mostrado na figura 4, nota-se que a variação da tensão de saída com a razão cíclica é linear.

Figura 4 - Ganho Estático em Função de D [12]

Os sinais de comando do interruptor podem ser gerados com frequência de comu-tação fixa ou variável [11]. Uma forma de gerar os sinais de comando com frequência fixa é através de modulação por largura de pulso (PWM). Na figura 5, mostra-se uma forma simples de realizar PWM. 0 0,25 0,5 0,75 1 0 0,25 0,5 0,75 1 D Vo/Vi i o V V D

(38)

Figura 5 - Exemplo de um Circuito PWM [12]

3.2.1 Conversor Buck

O conversor Buck é um conversor abaixador de tensão [11], caracterizado por ter entrada em tensão e saída em corrente. Na figura 6, mostra-se o diagrama elétrico do conver-sor Buck.

Figura 6 - Conversor Buck [12]

As etapas de funcionamento do conversor Buck são descritas a seguir.

1ª Etapa (0, DTs): S está conduzindo. A corrente circula por Lo e pela saída. Nes-ta eNes-tapa, Vi fornece energia para a saída e para a magnetização do indutor Lo.

2ª Etapa (DTs, (1-D)Ts): S está bloqueado. No instante de abertura de S, o diodo D

entra em condução. A energia do indutor é transferida para a carga, isto é, o indutor é des-magnetizado.

A forma de onda da tensão Vab é mostrada na Figura 7. VCC + -Gerador de Rampa Vc Vg Vr Ton Ts Vc Ton Ts D Lo Ro Co Vi S a b + -Vo

(39)

Figura 7 - Forma de Onda da Tensão [12]

Como a tensão média sobre o indutor deve ser nula [11], então: Vo = Vab_med =

= D (6)

A Figura 8 mostra a variação da tensão de saída em função da razão cíclica para o conversor Buck.

Figura 8 - Ganho Estático em Função de D [12]

As principais formas de onda do conversor Buck são mostradas na figura 9.

Figura 9 - Principais formas de onda do conversor Buck [12]

O conversor Buck pode operar em três modos:

Vab Vi DTs Ts 0 0,25 0,5 0,75 1 0 0,25 0,5 0,75 1 D Vo/Vi VLo ILo VCo VS VD Vi-Vo -Vo Io Vi -Vi D Ts Ts

(40)

1º - Condução Contínua: A corrente em Lo não se anula durante um período de

comutação;

2º - Condução Descontínua: A corrente em Lo se anula a cada período de

comuta-ção;

3º - Condução Crítica: A corrente em Lo está no limiar de se anular a cada período

de comutação.

As principais características do conversor Buck são [11]:

 Pode apenas diminuir a tensão na saída;

 A corrente de saída tem boa qualidade;

 A corrente na entrada é descontínua.

3.2.2 Conversor Boost

O conversor Boost é um conversor elevador de tensão [11], caracterizado por ter entrada em corrente e saída em tensão. Na figura 10 mostra-se o diagrama elétrico do conver-sor Boost.

Figura 10 - Conversor Boost [12]

As etapas de funcionamento do conversor Boost são descritas a seguir.

1ª Etapa (0, DTs): S está conduzindo. O indutor L é magnetizado. A fonte Vi

for-nece energia ao indutor.

2ª Etapa (DTs, (1-D)Ts): S está bloqueado. O diodo D entra em condução. A fonte

Vi e o indutor L fornecem energia à saída. A tensão na carga aumenta.

A forma de onda da tensão sobre o indutor é mostrada na figura 11. L Co D Vi Ro S + -Vo

(41)

Figura 11 - Tensão sobre o Indutor [12]

Como a tensão média sobre o indutor deve ser nula [11], então:

(7)

A figura 12 mostra a variação da tensão de saída em função da razão cíclica para o conversor Boost.

Figura 12 - Ganho Estático em Função de D [12]

As principais formas de onda do conversor Boost são mostradas na figura 13.

Figura 13 - Principais Formas de Onda do Conversor Boost [12] Vi VL Ts DTs -(Vo-Vi) 0 0,25 0,5 0,75 1 0 25 50 75 100 D Vo/Vi VLo ILo VCo VS VD Vi-Vo -Vo Io Vi -Vi D Ts Ts

(42)

As principais características do conversor Boost [11] são:

 Pode apenas aumentar a tensão na saída;

 A corrente de saída é descontínua;

 A corrente na entrada tem boa qualidade.

3.2.3 Conversor Buck-Boost

O conversor Buck-Boost é um conversor que pode operar como abaixador ou ele-vador de tensão [11], caracterizado por ter entrada em tensão e saída em tensão. Na figura 14, mostra-se o diagrama elétrico do conversor Buck-Boost.

Figura 14 - Conversor Buck-Boost [12]

As etapas de funcionamento do conversor Buck-Boost são descritas a seguir. 1ª Etapa (0, DTs): S está conduzindo. A fonte Vi fornece energia para a magneti-zação do indutor L.

2ª Etapa (DTs, (1-D)Ts): S está bloqueado. A energia do indutor L é transferida através do diodo D para a saída. O indutor L é desmagnetizado.

A forma de onda da tensão sobre o indutor é mostrada na figura 15.

Figura 15- Tensão no Indutor [12]

Como a tensão média sobre o indutor deve ser nula, então:

L Co D Ro Vi S + -Vo L Co D Ro Vi S + -Vo

(43)

(8)

Na figura 16 mostra-se a variação da tensão de saída, em função da razão cíclica para o conversor Buck-Boost.

Figura 16 - Ganho Estático em Função de D [12]

As principais formas de onda do conversor Buck-Boost são mostradas na figura 17.

Figura 17 - Principais Formas de Onda do Conversor Buck-Boost [12]

As principais características do conversor Buck-Boost [11] são:

 É um conversor à acumulação de energia;

 Pode operar como elevador ou abaixador;

 A corrente de saída é descontínua;

 A corrente na entrada é descontínua.

0 0,25 0,5 0,75 1 0 2,5 5 7,5 10 D Vo/Vi VLo ILo ICo VS VD VCo D Ts Ts Vi -Vo Io Vo Vi+Vo -(Vi+Vo)

(44)

3.2.4 Conversor Flyback (Buck-Boost isolado)

O conversor Flyback é um conversor idêntico ao conversor Buck-Boost [11], mas que apresenta isolação galvânica entre a tensão de entrada e de saída. A figura 18 mostra o diagrama elétrico do conversor Flyback, bem como a sequência de passos para obter o con-versor Flyback do concon-versor Buck-Boost.

Figura 18 - Conversor Flyback [12]

As etapas de funcionamento do conversor Flyback são descritas a seguir.

1ª Etapa (0, DTs): S está conduzindo. A fonte Vi fornece energia para a magneti-zação do enrolamento primário do transformador. O diodo D está reversamente polarizado.

2ª Etapa (DTs, (1-D)Ts): S está bloqueado. A energia armazenada no transforma-dor é levada para a saída através do diodo D.

A forma de onda da tensão no primário do transformador é mostrada na figura 19.

Figura 19 - Tensão no Primário [12]

Como a tensão média sobre enrolamento primário do transformador deve ser nula, então: L Ro D Vi Co Vi Lpri Co Ro D Lsec Ro Co D Lpri Vi Lsec Lsec D Ro Co Lpri Vi BUCK-BOOST S S

Qual a polaridade do transformador??

S -Vo Vo S + -+ ? ? n:1 n:1 n:1 Vi Vpri Ts DTs -nVo

(45)

(9) Chamando tem-se:

(10) A tensão Vo’ é a tensão de saída referida ao lado primário. Na figura 20 mostra-se a

variação da tensão de saída em função da razão cíclica para o conversor Flyback.

Figura 20 - Ganho Estático em Função de D [12]

A vantagem do uso de um transformador pode ser vislumbrada através de um exemplo [11]. Suponhamos um conversor Buck-Boost com tensão de entrada de 100V e tensão deseja-da na saídeseja-da de 12V. A razão cíclica nominal seria:

(11)

Esta razão cíclica é bastante baixa para operação em malha fechada [11]. Usando um transformador, ou seja, um conversor Flyback no lugar do conversor Buck-Boost, pode-se escolher a razão cíclica nominal e em seguida adaptar as tensões através da relação de trans-formação. Escolhendo então uma razão cíclica nominal de 0,3 vem:

0 0,25 0,5 0,75 1 0 2,5 5 7,5 10 D Vo'/Vi 107 , 0 100 12 12 V V V D o i o n 

s   s T ) D 1 ( 0 o s T D 0 i s dt nV T 1 dt V T 1 D 1 D V nV i o   ' o o V nV  D 1 D V V i ' o  

(46)

(12) As principais formas de onda do conversor Flyback são mostradas na Figura 21.

Figura 21 - Principais Formas de Onda do Conversor Flyback [12]

As principais características do conversor Flyback [11] são:

 É um conversor à acumulação de energia;

 A saída é isolada da entrada;

 Permite ajustar a razão cíclica de operação através da relação de trans-formação;

 Possibilita usar várias saídas;

 Pode operar como elevador ou abaixador;

 A corrente de saída é descontínua;

 A corrente na entrada é descontínua.

3.2.5 Conversor Forward (Buck isolado)

O conversor Forward é um conversor idêntico ao conversor Buck [11], mas que apresenta isolação galvânica entre a tensão de entrada e de saída. A figura 22 mostra o dia-grama elétrico do conversor Forward, bem como a sequência de passos para obter o conver-sor Forward do converconver-sor Buck.

V 86 , 42 3 , 0 1 3 , 0 100 D 1 D V V n n i ' o   57 , 3 12 86 , 42 V V n o ' o    Vpri Vsec Ipri VS VD Isec D Ts Ts Vi -nVo Vi+nVo -(Vi/n+Vo) Vo -Vi/n

(47)

Figura 22- Conversor Forward [12]

As etapas de funcionamento do conversor Forward são descritas a seguir.

1ª Etapa (0, DTs): S está conduzindo. A fonte Vi fornece energia para a carga a-través do transformador. O diodo D2 conduz e D1 e D3 estão bloqueados.

2ª Etapa (DTs, (1-D)Ts): S está bloqueado. O diodo D3 conduz a corrente da car-ga. O transformador é desmagnetizado através diodo D1; esta energia é devolvida para a fonte Vi.

A forma de onda da tensão no indutor é mostrada na figura 23.

Figura 23 - Tensão no Indutor [12]

Como a tensão média sobre o indutor deve ser nula, então:

Vi Co Ro Lo D D Co Ro Lo Vi Lpri Lsec Ro D Lpri Vi Lsec Co Lo Ldes Vi Lo Lpri Ro Ldes Lsec D Co Ddes Co Lsec D1 Ldes Lpri Lo Vi D3 Ro D2 Co Ldes D1 Lo Vi Lsec D2 Lpri D3 Ro BUCK S S

Como eliminar a energia armazenada devido à magnetizante??

S

Sempre teria corrente no enrolamento de desmagnetização!!

S

No secundário circularia uma corrente por D!!

S S + -Vo Vi/n-Vo VLo Ts DTs -Vo

(48)

(13) Chamando tem-se:

(14) A tensão Vo’ é a tensão de saída referida ao lado primário [11]. A figura 24 mostra

a variação da tensão de saída em função da razão cíclica para o conversor Forward.

Figura 24 - Ganho Estático em Função de D [12]

As principais formas de onda do conversor Forward são mostradas na figura 25. No instante Tx, a desmagnetização do transformador está completa.

As principais características do conversor Forward [11] são:

 É um conversor de transferência direta de energia;

 A saída é isolada da entrada;

 Permite ajustar a razão cíclica de operação através da relação de transforma-ção;

 Possibilita usar várias saídas;

 Pode operar como abaixador, devido apenas à razão cíclica;

 A corrente de saída é de boa qualidade;

 A corrente na entrada é descontínua.

s s (1 D)T 0 o s T D 0 o i s

dt

V

T

1

dt

V

n

V

T

1

D V nV i o  ' o o V nV  0 0,25 0,5 0,75 1 0 0,25 0,5 0,75 1 D Vo'/Vi

(49)

Figura 25 - Principais Formas de Onda do Conversor Forward [12]

3.2.6 Operação em Malha Fechada

Para manter a tensão de saída, ou corrente de saída, no valor desejado e indepen-dente das variações dos componentes da tensão de entrada e da carga, é necessário operar o conversor em malha fechada. Operar em malha fechada significa ajustar a razão cíclica para obter a tensão correta na saída, sempre que ocorrer alguma variação que possa desviar a ten-são de saída do valor correto, por exemplo, variação da carga.

A figura 26 mostra o conversor Buck operando em malha fechada através da mo-dulação por largura de pulso (PWM). O compensador deve ser estudado conforme a aplicação e conforme as características de desempenho esperadas do sistema.

Figura 26 – Exemplo de Conversor em Malha Fechada[12] Vpri Vsec Vdes Ipri Isec Ides D Ts Tx Ts Vi -Vi Vi/n -Vi/n -Vi Vi D Lo Ro Vi Co R1 R2 + -R3 R4 C2 Vref + -S + -Vo Vg

Referências

Documentos relacionados

Both the distribution of toxin concentrations and toxin quota were defined by epilimnetic temperature (T_Epi), surface temperature (T_Surf), buoyancy frequency (BuoyFreq) and

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

Os Coordenadores Setoriais, enquanto professores, procuram dar o exemplo, mas deixam claro que encontram, no seu percurso como extensionistas, esse elemento dificultador;  O

Não fez Com duas soluções uma sofrendo redução e a outra oxidação, em um circuito fechado com fio condutor metálico e uma ponte salina é possível produzir uma pilha química

em efeitos superiores, contudo, considerando-se a realização do experimento apenas no Rio Grande do Sul e as particularidades de cada região produtiva, a extrapolação dos

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

De acordo com o Estatuto de Medicamento, são considerados MSRM, todos aqueles que preencham um dos seguintes requisitos: 1) “Possam constituir um risco para a