Buscar

Aula02B_Sistemas Digitais-Introducao-2021-R01

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 83 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 83 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 83 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

Sistemas Digitais
Aula 02B – Introdução aos Sistemas Digitais
Prof. Dr. Gleison Elias da Silva
1
Análise e Desenvolvimento de Sistemas
Indice
 Grandezas Analógicas e Digitais
 Dígitos Binários, Níveis Lógicos e Formas de Onda Digitais
 Operações Lógicas Básicas
 Visão Geral das Funções Lógicas Básicas
 Circuitos Integrados de Funções Fixas
 Introdução à Logica Programável
 Instrumentos de Medição e Teste
2
Resultados de aprendizagem
3
 Explicar as diferenças básicas 
entre grandezas analógicas e 
digitais
 Mostrar como os níveis de 
tensão são usados para 
representar grandezas digitais
 Descrever os diversos 
parâmetros da forma de onda 
de um pulso tais como tempo 
de subida, tempo de descida, 
largura de pulso, frequência, 
período e ciclo de trabalho
 Explicar as operações lógicas 
básicas AND, OR e NOT
 Descrever as funções lógicas 
dos circuitos comparador, 
somador, conversor de código, 
codificador, decodificador, 
multiplexador, demultiplexador, 
contador e registrador
 Identificar circuitos integrados 
digitais de funções fixas, de 
acordo com a complexidade 
deles, e os tipos de 
encapsulamentos de CI
Resultados de aprendizagem
4
 Identificar a numeração de 
pinos nos encapsulamentos dos 
circuitos integrados
 Descrever a lógica de 
programação, discutir os 
diversos tipos e descrever como 
são programados os PLD
 Reconhecer os diversos 
instrumentos e compreender 
como eles são usados em 
medições e análise de defeito 
em sistemas e circuitos digitais
 Mostrar como um sistema 
digital completo é formado 
combinando as funções básicas 
em aplicações práticas.
 Um circuito integrado (CI) monolítico é um circuito eletrônico 
construído totalmente em um único e pequeno chip de silício. 
 Todos os componentes que formam o circuito eletrônico 
(transistores, diodos, resistores e capacitores) são partes integrais 
de um único chip.
 Os CI digitais podem ser divididos em duas grandes categorias: 
 Funções lógicas fixas;
 Funções lógicas programáveis. 
5
Circuitos integrados
Vista em corte de um tipo de 
encapsulamento de CI de função fixa
 Os encapsulamentos de circuitos integrados são classificados de 
acordo com a forma com que eles são montados nas placas de 
circuito impresso como:
 Dispositivos com pinos que passam através de furos 
(PTH, Plated-Through Hole ou Pin Through Hole) na 
placa;
 Dispositivos montados na superfície (SMD, Surface 
Mounted-Device) da placa.
6
Encapsulamentos de CI
Dispositivo PTH Dispositivo SMD 
 No tipo PTH os pinos (terminais) são inseridos em furos na 
placa de circuito impresso e podem ser soldados a condutores 
(trilhas na placa) no lado oposto da placa. 
 No tipo SMD os pinos nos encapsulamentos são soldados 
diretamente às trilhas na placa, deixando o outro lado livre para 
circuitos adicionais. Além disso, para um circuito com o mesmo 
número de pinos, o encapsulamento de um SMD é muito menor 
que um DIP porque os pinos estão mais próximos um do outro.
7
Encapsulamentos de CI
 O tipo mais comum de encapsulamento PTH é:
 DIP ou DIL (Dual In-line Package): encapsulamento no 
qual os pinos estão dispostos em duas linhas paralelas.
8
Encapsulamentos de CI
Dispositivos DIP Encapsulamentos PTH
Imagem: E. Kamara, 2013
 Tipos comuns de encapsulamentos com tecnologia de montagem 
em superfície (SMT, Surface Mount Tecnology):
 SOIC (Small-Outline Integrated Circuit);
 PLCC (Plastic Lead Chip Carrier);
 LCCC (Leadless Ceramic Chip Carrier).
9
Encapsulamentos de CI
 Outros exemplos de encapsulamentos SMT:
 SSOP (Shrink Small-Outline Package);
 TSSOP (Thin Shrink Small-Outline Package);
 TVSOP (Thin Very Small-Outline Package);
 BGA (Ball Grid Array).
10
Encapsulamentos de CI
Encapsulamentos SMD
Imagem: E. Kamara, 2013
BGA chip
 Observando a parte superior do encapsulamento, o pino 1 está 
indicado por um identificador que pode ser um pequeno ponto, 
um entalhe ou uma borda chanfrada. 
 O ponto está sempre próximo ao pino 1.
11
Numeração dos pinos do CI
 Além disso, com o 
entalhe orientado para 
cima, o pino 1 é sempre 
o pino superior 
esquerdo, conforme 
indicado. 
Classificações de complexidade para CI de funções fixas
 Integração em pequena escala (SSI, Small-Scale
Integration) descreve os CI de função fixa que têm até 12 
circuitos de portas equivalentes em um único chip e eles incluem 
portas básicas e flip-flops.
 Integração em escala média (MSI, Medium-Scale
Integration) descreve os circuitos integrados que têm de 13 a 99 
portas equivalentes num chip. Eles incluem funções lógicas tais 
como codificadores, decodificadores, contadores, registradores, 
multiplexadores, circuitos aritméticos, memórias de pequena 
capacidade entre outros circuitos.
12
Classificações de complexidade
Classificações de complexidade para CI de funções fixas
 Integração em escala ampla (LSI, Large-Scale Integration) 
é uma classificação de CI com complexidades de 100 a 9.999 
portas equivalentes por chip, que incluem memórias.
 Integração em escala muito ampla (VLSI, Very Large-Scale
Integration) descreve circuitos integrados com complexidades 
de 10.000 a 99.999 portas equivalentes por chip.
 Integração em escala ultra ampla (ULSI – Ultra Large-Scale
Integration) descreve memórias e microprocessadores de 
grandes capacidades e computadores de pastilha única. 
Complexidades maiores que 100.000 portas equivalentes por chip 
são classificados como ULSI.
13
Classificações de complexidade
Classificações de complexidade para CI de funções fixas
14
Classificações de complexidade
Sigla Significado Ano
Número de 
Transistores
Número de 
portas lógicas
SSI
Small-Scale
Integration
1964 1 a 10 1 a 12
MSI
Medium-Scale
Integration
1968 10 a 500 13 a 99
LSI
Large-Scale
Integration
1971 500 a 20.000 100 a 9.999
VLSI
Very Large-Scale
Integration
1980
20.000 a 
1.000.000
10.000 a 99.999
ULSI
Ultra-Large-Scale
Integration
1984
1.000.000 ou 
mais
100.000 ou mais
15
Tecnologia de Circuitos Integrados
 Os tipos de transistores com os quais os circuitos integrados são 
implementados são:
 BJT (Bipolar-Junction Transistors) ou transistores de 
junção bipolar;
 MOSFET (Metal-Oxide Semiconductor Field-Effect
Transistors).
Perfil de dopantes de transistores BJT e CMOS
16
Tecnologia de Circuitos Integrados
 Uma tecnologia de circuitos que usa 
MOSFET é a CMOS (Complementary
Metal-Oxide Semiconductor).
Perfil de dopantes de um CMOS
Inversor CMOS
17
Tecnologia de Circuitos Integrados
 Um tipo de tecnologia de circuito digital de função fixa que usa 
BJT é a TTL (Transistor-Transistor Logic).
Inversor TTL
Perfil de dopantes de um BJT
18
Tecnologia de Circuitos Integrados
 A BiCMOS usa a combinação de CMOS e TTL.
Perfil de dopantes de um BiCMOS
Imagem Hyun-Cheol Bae, 2008 Inversor BiCMOS
Bipolar CMOS
Alta velocidade de 
operação
Baixa Potência
Alta capacidade de 
corrente de acionamento
Alta impedância de 
entrada
Amplas margens de ruído
19
Manuseio de CMOS
 Devido à sua estrutura particular, os dispositivos CMOS são 
muito sensíveis à carga estática e podem ser danificados por 
descarga eletrostática (ESD, Electrostatic Discharge) se não 
for manuseado adequadamente. 
Electrostatic discharge damage magnified
Image: Jet Propulsion Laboratory/NASA
20
Manuseio de CMOS
 As precauções a seguir devem ser tomadas quando se trabalha 
com dispositivos CMOS:
 Dispositivos CMOS devem ser transportados e armazenados 
em espuma condutiva.
 Todos os instrumentos e bancadas metálicas usados em testes 
devem ser aterrados.
 O pulso da pessoa que manuseia o dispositivo deve ser 
aterrada através um fio com um resistor de alto valor.
 Não remova um dispositivo CMOS (ou qualquer outro 
dispositivo no que diz respeito a esse assunto) de um circuito 
enquanto este estiver energizado.
 Não conecte sinais de tensão contínua ou alternadaem um 
dispositivo CMOS enquanto a fonte estiver desligada.
21
Manuseio de CMOS
Imagem Vermason, 2018
Estação de trabalho ESD
22
Introdução à lógica programável
 Dispositivos de lógica programável podem ser programados 
para realizar funções lógicas especificadas pelo fabricante ou 
pelo usuário. 
 A lógica de programação necessita de hardware e software. 
Lógica programável Lógica fixa
Ocupam bem menos espaço na placa 
para uma mesma quantidade de lógica.
Os componentes individualmente 
ocupam mais espaço físico na placa.
Pode-se alterar os projetos com facilidade 
sem alterações físicas no hardware ou 
substituição de componentes.
Requer alteração de laiaute (layout) 
da placa, no caso de mudança da 
lógica.
Projeto lógico geralmente pode ser 
implementado mais rápido e com um 
menor custo.
A soma dos custos dos CI de lógica 
fixa geralmente possuem valor maior 
do que o CI de lógica programável.
23
Tipos de dispositivos
Tipos de dispositivos Lógicos Programáveis
 As duas categorias principais de lógica programável pelo usuário 
são:
 FPGA (Field Programmable Gate Array).
 PLD (Programmable Logic Device);
 SPLDs (PLD simples);
 CPLD (PLD complexas).
24
Tipos de dispositivos – SPLD
Dispositivo de Lógica Programável Simples (SPLD, Simple
Programmable Logic Devices): 
 O SPLD foi o PLD que surgiu inicialmente e ainda encontra-se 
disponível para aplicações de pequena escala. 
 Geralmente, um SPLD pode substituir até dez CI de função fixa 
e suas interconexões, dependendo dos tipos de funções e do 
SPLD específico.
25
Tipos de dispositivos – SPLD
 Os SPLD estão em uma das duas categorias:
 PAL (Programmable Array of Logic) pode ser 
programado uma vez. 
 GAL (Generic Array Logic) é basicamente um dispositivo 
PAL que pode ser reprogramado várias vezes. 
26
Tipos de dispositivos – SPLD
 PAL (Programmable Array
of Logic) consiste de um 
arranjo programável de portas 
AND e um arranjo fixo de 
portas OR.
PAL (Programmable Array of Logic) PAL16R8B - MMI
27
Tipos de dispositivos – SPLD
 GAL (Generic Array of
Logic) consiste de um arranjo 
programável de portas AND e 
um arranjo fixo de portas OR 
com saídas programáveis 
(OLMC, Output Logic
Macrocell).
GAL (Generic Array of Logic) GAL16V8D - Lattice
28
Tipos de dispositivos – CPLD
Dispositivo de Lógica Programável Complexo (CPLD, 
Complex Programmable Logic Device): 
 Essencialmente, o CPLD é um dispositivo que contém 
múltiplos SPLD e pode substituir diversos CI de funções fixas. 
 Geralmente, CPLD podem ser usadas para implementar 
quaisquer tipos de funções lógicas discutidas anteriormente, 
como: decodificadores, codificadores, multiplexadores, 
demultiplexadores e somadores.
29
Tipos de dispositivos – CPLD
 A Figura mostra o diagrama em bloco básico de um CPLD com 
quatro blocos de arranjo lógico (LAB, Logic Array Blocks) e 
um arranjo de interconexões programáveis (PIA, 
Programmable Interconnction Array). 
Diagrama de blocos de um CPLD
 Dependendo do CPLD 
específico, podem existir de 2 
a 64 LAB. 
 Cada bloco de arranjo lógico 
é aproximadamente 
equivalente a um SPLD.
30
Tipos de dispositivos – FPGA
Arranjo de Portas Programáveis por Campo (FPGA, Field-
Programmable Gate Array):
 Um FPGA é geralmente mais complexo e tem uma densidade 
muito maior que CPLD, embora suas aplicações possam, em 
alguns casos, se sobrepor. 
Diagrama de blocos de um FPGA
 Os FPGA possuem três 
elementos básicos:
 Blocos lógicos;
 Interconexões 
programáveis;
 Blocos de entrada/saída.
31
Tipos de dispositivos – FPGA
 Possui uma arquitetura baseada em blocos lógicos 
configuráveis (CLB, Configuration Logical Blocks),
constituídos por portas lógicas e flipflops que visam implementar 
funções lógicas, também é estruturado por chamadas de blocos 
de entrada e saída (IOB, In/Out Blocks).
 Os blocos lógicos em um FPGA não são complexos como os 
LAB em um CPLD, porém, geralmente eles existem em maior 
número. 
 Quando os blocos lógicos são relativamente simples, a arquitetura 
do FPGA é denominada grão fino (fine-graned). 
 Quando os blocos lógicos são maiores e mais complexos, a 
arquitetura é denominada grão grosso (coarse-graned). 
32
Tipos de dispositivos – CPLDFPGA
CPLD FPGA
Volatilidade Não volátil Reconfiguração SRAM
Arquitetura
PAL/22V10-like
+ combinacional
Gate array-like
+ registradores + RAM
Densidade
Baixa a média
500 a 10.000 portas
Média a alta
1.000 a 500.000 portas
Performance Tempo previsível Dependente da aplicação
Preços Baixo Alto
33
Tipos de dispositivos – CPLDFPGA
34
Tipos de dispositivos – CPLDFPGA
CoolRunner-II CPLD Xilinx: https://www.xilinx.com/products/silicon-devices/cpld/coolrunner-ii.html
Price XA2C32A-7VQG44Q: https://www.digikey.com/en/products/detail/xilinx-inc/xa2c32a-7vqg44q/1956584
Price XC2C512-10FT256I: https://www.digikey.com/en/products/detail/xilinx-inc/xc2c512-10ft256i/3981431
USD 3,60
USD 88,00
https://www.xilinx.com/products/silicon-devices/cpld/coolrunner-ii.html
https://www.digikey.com/en/products/detail/xilinx-inc/xa2c32a-7vqg44q/1956584
https://www.digikey.com/en/products/detail/xilinx-inc/xc2c512-10ft256i/3981431
35
Tipos de dispositivos – CPLDFPGA
FPGA Xilinx: https://www.xilinx.com/products/silicon-devices/fpga.html
https://www.xilinx.com/products/silicon-devices/fpga.html
36
Tipos de dispositivos – CPLDFPGA
USD 19,70
USD 427,00
FPGA Spartan-6 Xilinx: https://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html
Price XC6SLX4-L1CSG225C: https://www.digikey.com/en/products/detail/xilinx-inc/xc6slx4-l1csg225c/2339867
Price XC6SLX150T-3FGG900I: https://www.digikey.com/en/products/detail/xilinx-inc/xc6slx150t-3fgg900i/2339976
https://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html
https://www.digikey.com/en/products/detail/xilinx-inc/xc6slx4-l1csg225c/2339867
https://www.digikey.com/en/products/detail/xilinx-inc/xc6slx150t-3fgg900i/2339976
37
Tipos de dispositivos – CPLDFPGA
USD 8.040,00
FPGA Kintex Xilinx: https://www.xilinx.com/products/silicon-devices/fpga/kintex-ultrascale-plus.html
Price XCKU19P-L2FFVJ1760E: https://www.avnet.com/shop/us/products/xilinx/xcku19p-l2ffvj1760e-3074457345645153178/
https://www.xilinx.com/products/silicon-devices/fpga/kintex-ultrascale-plus.html
https://www.avnet.com/shop/us/products/xilinx/xcku19p-l2ffvj1760e-3074457345645153178/
38
Tipos de dispositivos – CPLDFPGA
USD 73.500,00
FPGA Virtex Xilinx: https://www.xilinx.com/products/silicon-devices/fpga/virtex-ultrascale-plus.html
Price XCVU19P-2FSVA3824E: https://www.digikey.com/en/products/detail/xilinx-inc/XCVU19P-2FSVA3824E/11588539
https://www.xilinx.com/products/silicon-devices/fpga/virtex-ultrascale-plus.html
https://www.digikey.com/en/products/detail/xilinx-inc/XCVU19P-2FSVA3824E/11588539
39
Tipos de dispositivos – CPLDFPGA
CPLD/FPGA MAX Altera (Intel): https://www.intel.com/content/www/us/en/products/details/fpga/max.html
Price 5M40ZE64C5N: https://www.digikey.com/en/products/detail/intel/5M40ZE64C5N/2499440
USD 0,90
https://www.intel.com/content/www/us/en/products/details/fpga/max.html
https://www.digikey.com/en/products/detail/intel/5M40ZE64C5N/2499440
40
Tipos de dispositivos – CPLDFPGA
FPGA Altera (Intel): https://www.intel.com/content/www/us/en/products/details/fpga.html
https://www.intel.com/content/www/us/en/products/details/fpga.html
41
Tipos de dispositivos – CPLDFPGA
FPGA/PLD Microchip: https://www.microchip.com/en-us/products/fpgas-and-plds
https://www.microchip.com/en-us/products/fpgas-and-plds
42
Tipos de dispositivos – CPLDFPGA
FPGA/PLD Microchip: https://www.latticesemi.com/Products.aspx#_D5A173024E414501B36997F26E842A31
https://www.latticesemi.com/Products.aspx#_D5A173024E414501B36997F26E842A31
43
O processo de programação
 Uma SPLD, CPLD ou FPGA pode ser vista como um “quadro 
branco” no qual podemos implementar um determinado 
circuito ou sistema projetadofazendo uso de um certo 
processo.
EASE Graphical HDL Entry
44
O processo de programação
 Esse processo necessita de um software de desenvolvimento 
instalado em um computador para implementar um projeto de 
circuito em um chip programável.
 Quartus Prime - Altera/Intel
 ISE (Integrated Synthesis Environment) - Xilinx
 Vivado Design Suite - Xilinx
 Lattice Diamond Software - Lattice
 Lattice Radiant Software - Lattice
 Libero SoC - Microchip
 Libero IDE - Microchip
Quartus Prime Lite Edition: https://fpgasoftware.intel.com/?edition=lite
ISE Design Suite: WebPack Edition: https://www.xilinx.com/support/university/students.html#software
https://fpgasoftware.intel.com/?edition=lite
https://www.xilinx.com/support/university/students.html#software
45
O processo de programação
 O computador tem que ser interfaceado por meio de uma placa 
de desenvolvimento ou um equipamento de programação 
contendo o dispositivo.
46
O processo de programação
 Kit de desenvolvimento Zynq-7000 SoC ZC702 Evaluation Kit 
- Xilinx
47
O processo de programação
 Vários passos, chamados de fluxo 
de projeto, estão envolvidos no 
processo de implementação de um 
projeto lógico em um dispositivo 
lógico programável.
 Entrada do Projeto
 Simulação Funcional
 Síntese
 Implementação
 Simulação de Temporização
 Download 
48
O processo de programação
Entrada do Projeto: 
 O projeto do circuito ou sistema tem que ser 
inserido no software de desenvolvimento de 
projeto usando entrada baseada em:
 Texto;
 Entrada gráfica (desenho esquemático);
 Descrição em diagrama de estado.
 A inserção do projeto é independente do dispositivo. 
49
O processo de programação
Entrada do Projeto: 
 A inserção baseada em texto é realizada com uma linguagem 
de descrição de hardware (HDL – Hardware Description 
Language), tal como:
 Verilog
 VHDL
 Bluespec
 AHDL
 ABEL
Vivado Design Suite
50
O processo de programação
Entrada do Projeto: 
 A linguagem HDL possibilita três níveis de abstração em HDL. 
 O nível mais alto de abstração é o comportamental 
(behavioral), que permite descrever o comportamento do 
circuito através de loops e processos. 
Níveis de abstração de uma linguagem HDL
Neste nível de abstração também é 
possível compor equações através de 
multiplicações e somas.
51
O processo de programação
Entrada do Projeto: 
 O próximo nível de abstração possibilita descrever o 
funcionamento do circuito em termos de lógica combinacional
(por exemplo, if, then, else) e booleana. 
Este nível de abstração também engloba a representação do 
circuito no nível de registros de transferências (RTL –
Register Transfer Level), que consiste basicamente em uma 
representação por registradores interligados por lógica 
combinacional. 
 O nível mais baixo de abstração de um HDL é o estrutural, que 
consiste em uma representação do circuito semelhante a um 
Netlist de portas lógicas ou de switches.
52
O processo de programação
Entrada do Projeto: 
 Verilog padronizado pela IEEE 1364-2005 e incorporado em 
2009 pelo SystemVerilog.
 SystemVerilog, padronizado 
pela IEEE 1800-2017 - IEEE 
Standard for SystemVerilog -
Unified Hardware Design, 
Specification, and
Verification Language
53
O processo de programação
Entrada do Projeto: 
 VHSIC-HDL ou VHDL (Very-High-Speed Integrated
Circuit Hardware Description Language), padronizado pela 
IEEE Std 1076-2019 - IEEE Standard for VHDL Language
Reference Manual
 IEEE 1076.1 VHDL Analog and Mixed-Signal (VHDL-AMS)
 IEEE 1076.1.1 VHDL-AMS Standard Packages (stdpkgs)
 IEEE 1076.2 VHDL Math Package
 IEEE 1076.3 VHDL Synthesis Package (vhdlsynth) (numeric std)
 IEEE 1076.3 VHDL Synthesis Package – Floating Point (fphdl)
 IEEE 1076.4 Timing (VHDL Initiative Towards ASIC Libraries: vital)
 IEEE 1076.6 VHDL Synthesis Interoperability (withdrawn in 2010)[11]
 IEEE 1164 VHDL Multivalue Logic (std_logic_1164) Packages
54
O processo de programação
Entrada do Projeto: 
 AHDL (Altera Hardware Description Language), 
incorporado ao Quartus Prime.
https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/download.html
 Bluespec
https://bluespec.com/n
 ABEL (Advanced Boolean Expression Language)
http://www.ee.usm.maine.edu/courses/ele172/abel/HDL-ABEL%20Primer.pdf
https://www.semanticscholar.org/topic/Advanced-Boolean-Expression-Language/53431
https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/1D/ABEL-
HDLReferenceManual.ashx?document_id=589
 AHPL (A Hardware Programming Language)
https://repository.arizona.edu/handle/10150/290569
https://www.computer.org/csdl/magazine/co/1974/12/028030/13rRUxYIN70
https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/download.html
https://bluespec.com/n
http://www.ee.usm.maine.edu/courses/ele172/abel/HDL-ABEL%20Primer.pdf
https://www.semanticscholar.org/topic/Advanced-Boolean-Expression-Language/53431
https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/1D/ABEL-HDLReferenceManual.ashx?document_id=589
https://repository.arizona.edu/handle/10150/290569
https://www.computer.org/csdl/magazine/co/1974/12/028030/13rRUxYIN70
55
O processo de programação
Verilog VHDL
Linguagem fracamente tipada Linguagem fortemente tipada
Case-sensitive (sensível à caixa das 
letras)
Not case-sensitive (não sensível à 
caixa das letras)
Possibilita escrever códigos errados, 
facilitando o cometimento de erros, 
código mais conciso
Mais difícil de cometer erros de 
digitação, sendo possível encontrá-los 
antes mesmo da compilação, código
mais detalhado
Não determinístico em certas 
circunstâncias, podendo ocorrer 
condições de corrida
Altamente determinístico
Se parece mais com a linguagem C
Se parece mais com as linguagens 
Ada e Pascal
56
O processo de programação
Verilog VHDL
Comum em empresas do Vale do 
Silício
Comum na indústria de defesa dos 
EUA
57
O processo de programação
 Em linguagens fracamente tipadas as variáveis declaradas 
poderão intercambiar seus tipos a qualquer momento, ou seja, 
poderão receber valores de tipos de dados diferentes e fazer 
operações entre eles sem a necessidade de um conversão (casting) 
explicita do tipo.
Já em Javascript, o número inteiro 
será convertido em uma string e o 
resultado impresso será a string "1010".
58
O processo de programação
 Linguagens fortemente tipadas seriam aquelas em que os 
objetos/variáveis tem um tipo bem definido e que precisa ser 
informado no momento de sua declaração.
Em linguagens fortemente tipadas, as operações entre valores de 
tipos diferentes, resultará em erros ou exceções, portanto essas 
operações dar-se-á apenas por valores do mesmo tipo ou através 
da conversão (casting) de valores.
Em Ruby, a operação entre um 
número e uma string, resultará em um 
erro, indicando que a linguagem não 
conseguiu somar a string com o inteiro.
59
O processo de programação
Entrada do Projeto: 
 A inserção gráfica (esquemático) permite que funções lógicas 
pré-armazenadas sejam selecionadas a partir de um biblioteca, 
apresentada na tela e então interconectadas para criar o projeto 
lógico.
Vivado Design Suite
60
O processo de programação
Entrada do Projeto: 
 A inserção por diagrama de estados 
requer a especificação dos estados pelos 
quais um circuito lógico sequencial 
passa e as condições que provocam a 
mudança de cada estado.
Xilinx Foundation State Editor
61
O processo de programação
Entrada do Projeto: 
 Uma vez inserido o projeto, ele é 
compilado. 
 Um compilador é um programa 
que controla o processo do fluxo 
do projeto e traduz o código-
fonte em código-objeto num 
formato que pode ser testado 
logicamente ou transferido para um 
dispositivo destino. 
62
O processo de programação
Entrada do Projeto: 
 O código-fonte é criado 
durante a inserção do 
projeto e o código-
objeto é o código final 
que realmentefaz com 
que o projeto seja 
implementado no 
dispositivo programável.
63
O processo de programação
Simulação Funcional ou Verificação: 
 O projeto compilado inserido é simulado por software para 
confirmar se os circuitos lógicos funcionam conforme esperado. 
 A simulação irá verificar se as saídas adequadas são geradas para 
um conjunto de entradas especificadas. 
Vivado Simulator
Lista de simuladores HDL: https://en.wikipedia.org/wiki/List_of_HDL_simulators
64
O processo de programação
Síntese: 
 A fase síntese é onde o projeto é traduzido em uma lista 
(netlist), a qual tem uma forma padronizada e é independente do 
dispositivo.
Netlist
Linguagem de transferência de registros 
(RTL, Register Transfer Language)
65
O processo de programação
Síntese: 
 A netlist é uma listagem de componentes do circuito e de como 
estes componentes estão interconectados, incluindo os nomes 
dos pinos de I/O dos chips PLD utilizados pelo circuito.
Netlist visto com RTL
66
O processo de programação
Síntese: 
Imagem: Enno Lübbers
67
O processo de programação
Imagem: Enno Lübbers
Implementação: 
 Na implementação, pode-se 
fazer necessário o 
mapeamento (tradução) de
tais componentes para células 
lógicas, que podem ser 
configuradas como:
 Look-Up Tables (LUT);
 Shift-Registers Look-Up
Table (SRL);
 LUT RAM. 
68
O processo de programação
Implementação: 
Imagem: Enno Lübbers
69
O processo de programação
Implementação: 
 Embora a netlist dê uma descrição lógica exata do circuito, ela 
não diz nada sobre a implementação física.
 Para obter uma descrição precisa do layout
físico, a netlist é executada por um 
processo denominado 
de implementação, no qual a estrutura 
lógica descrita pela netlist é mapeada na 
estrutura real do dispositivo a ser 
programado.
The design routing in FPGA fabric
Imagem: Creative Commons Attribution 4.0 Inter.
70
O processo de programação
Implementação: 
 O processo de implementação é denominado fitting ou place
and route (PAR) e resulta em uma saída denominada sequência 
de bits, a qual depende do dispositivo usado.
Place and Route process
71
O processo de programação
Implementação: 
Imagem: Enno Lübbers
72
O processo de programação
Simulação de temporização: 
 A simulação de temporização (timing analyser) é 
basicamente usada para confirmar que não existem falhas no 
projeto ou problemas de temporização em função dos atrasos de 
propagação.
Vivado Timing Analysis
73
O processo de programação
Download: 
 Uma vez gerada uma sequência de bits para um dispositivo 
programável específico, ele tem que ser transferido (operação 
download) ao dispositivo para implementar o projeto de 
software no hardware.. 
 Alguns dispositivos 
programáveis são instalados 
em uma seção especial de um 
equipamento denominado 
programador de 
dispositivos ou em uma 
placa de desenvolvimento. 
PYNQ-Z2 FPGA Development Board - Xilinx
74
O processo de programação
Download: 
 Outros tipos de dispositivos podem ser programados quando 
ainda estão inseridos no sistema, denominados programáveis no 
sistema (ISP, In-System Programming), usando uma interface 
padrão JTAG (Joit Test Action Group).
75
O processo de programação
Download: 
 Alguns dispositivos são voláteis, o que significa que eles perdem o 
conteúdo armazenado quando sofrem uma operação de reset 
(inicialização) ou quando a alimentação é desligada.
 Nesse caso, os dados (sequência de bits) têm que ser 
armazenados numa memória e recarregados no dispositivo após 
cada reset ou desligamento da alimentação. 
 Além disso, o conteúdo de um dispositivo ISP pode ser 
manipulado ou atualizado enquanto estiver operando no sistema.
76
Instrumentos de medição
 A análise de defeito é o processo sistemático de isolamento, 
identificação e correção de defeitos em um circuito ou 
sistema. 
 Uma variedade de instrumentos está disponível para ser usada em 
testes e análises de defeito:
 Osciloscópio;
 Analisador lógico;
 Fonte de alimentação CC;
 Gerador de funções;
 Multímetro digital (DMM, Digital Multimeter).
 [1] FLOYD, Thomas L., Sistemas digitais: fundamentos e aplicações; 
tradução José Lucimar do Nascimento; revisão técnica Antonio Pertence 
Júnior – 9ª. ed., Porto Alegre: Bookman, 2007. 888 p. ISBN-13: 978-85-7780-
107-7
 [2] TOCCI, Ronald J; WIDMER, Neal S.; MOSS, Gregory L., Sistemas 
digitais: princípios e aplicações; tradução Sérgio Nascimento; revisão técnica 
Renato Giacomini – 12ª ed., São Paulo: Pearson, 2019. 1056 p. (Biblioteca 
Virtual Pearson), ISBN-13: 978-85-4302-501-8
 [3] CAPUANO, Francisco Gabriel; IDOETA, Ivan Valeije., Elementos de 
Eletrônica Digital – 42ª ed., São Paulo: Érica, 2018. 440 p. ISBN-13: 978-85-
3653-038-3
77
Estas transparências foram baseadas nos livros da bibliografia acima, em sítios (sites) da 
internet 
.
Bibliografia
78
Bibliografia
ISBN-13: 978-85-7780-107-7 ISBN-13: 978-85-4302-501-8 ISBN-13: 978-85-3653-038-3
NOTA: Para a bibliografia complementar consulte o plano de ensino da disciplina
79
Bibliografia - VHDL
ISBN-13: 978-0262042642 ISBN-13: 978-0262034227 ISBN-13: 978-9400798403
80
Bibliografia - Verilog
ISBN-13: 978-0073380544 ISBN-13: 978-3030136079 ISBN-13: 978-1441944023
81
Bibliografia – Finite-State Machines
ISBN-13: 978-3319242002 ISBN-13: 978-3642442247 ISBN-13: 978-1848219861
ATENÇÃO
Os autores das imagens e dos textos contidos nesta 
apresentação podem requerer direitos autorais, assim 
antes de reproduzi-las ou mesmo divulgá-las consulte o 
autor deste conteúdo, a fim de solicitar a fonte do 
material.
O uso deste material destina-se apenas à consulta no 
processo de ensino e aprendizagem da disciplina supra 
citada e, portanto, fica proibido o processo de 
escaneamento, fotocópia, reprodução ou ainda, 
postagem em sites acessível ao público ou protegido por 
senha, no todo ou em parte.
82
83
A1. Anexo – VHDL vs Verilog

Continue navegando