cmp 238 – projeto e teste de um sistema vlsifglima/projeto/projeto1_2007.pdfaula disciplina:...
TRANSCRIPT
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007
1
CMP 238 CMP 238 –– Projeto e Teste de um Projeto e Teste de um Sistema VLSISistema VLSI
Definição Sistemas DigitaisProjeto
Revisão: Circuitos CombinacionaisCircuitos SequênciaisMáquinas de Estados
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 2 / 72
1Sistemas DigitaisSistemas Digitais
• Um sistema digital é um sistema no qual os sinais têm um número finito de valores discretos, se contrapondo a sistemas analógicos nos quais os sinais têm valores pertencentes a um conjunto contínuo (infinito).
Definição
S(digital)
x y
x
ty
t
S(analógico)
x y
x
ty
t
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3 / 72
1Sistema DigitaisSistema Digitais
• Uma vez que os sinais do mundo físico são analógicos, é necessários convertê-los para sinais digitais e vice-versa sempre que os sinais digitais tenham que interagir com os sinais do meio físico.
Definição (cont.)
ADC Processamento de sinal e armazenamento DAC
Successive Approximation Register (SAR)
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 4 / 72
1TermoTermo ModelagemModelagem
• A modelagem é uma maneira de representar as informaçõesimportantes de um sistema.
• Um sistema pode ter diversos modelos para ele.
Motivações para a modelagem de sistemas:1- Abstrair o comportamento de um sistema digital dando flexibilidade
de implementação.2 – Ajudar a comunicação do usuário com a funcionalidade do sistema3 – Permitir o teste e verificação por meio de simulação4 – Verificação formal por equações matemáticas que provem que o
sistema funciona para determinadas regras de funcionamento.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 5 / 72
1NíveisNíveis de de AbstraçãoAbstração de de SistemasSistemas VLSIVLSI
NívelNível ArquiteturalArquitetural ouou AlgoritmicoAlgoritmico
NívelNível de de transferenciatransferencia entreentreregistradoresregistradores (micro(micro--arquiteturalarquitetural))
NívelNível lógicológico ouou de de portasportas
NivelNivel elétricoelétrico ouou de de transistorestransistores
NivelNivel de de leiatueleiatue
NivelNivel de de máscarasmáscaras
Pro
jeto
Pro
jet o
Ver
if ic a
ção
Ver
if ic a
ção
NívelNível SistêmicoSistêmico
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 6 / 72
1
Mais abstra
ção
Eixo ComportamentalSistêmico
Algorítmico
Micro arquitetural
Lógico
Elétrico
Eixo Estrutural
Eixo Geométrico
Circuito Real(fabricado)
idéia
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 7 / 72
1
Eixo ComportamentalSistêmico
Algorítmico
Micro arquitetural
Lógico
Elétrico
Eixo Estrutural
Eixo Geométrico
processadores, memórias, barramentos
módulos de hardware
registradores, multiplexadores, operadores
Portas lógicas, flip-flops
Transistores, resistores, capacitores, indutores
processadores, memórias, barramentos
módulos de hardware
registradores, multiplexadores, operadores
Portas lógicas, flip-flops
Transistores, resistores, capacitores, indutores
Leiaute das máscaras, retângulos, polígonos
Células de biblioteca, modelos de posição de pinos
Macro-células, planta baixa de blocos
Módulos, clusters, cores, planos de clock/alimentação
Partições físicas, componentes, placas
Leiaute das máscaras, retângulos, polígonos
Células de biblioteca, modelos de posição de pinos
Macro-células, planta baixa de blocos
Módulos, clusters, cores, planos de clock/alimentação
Partições físicas, componentes, placas
Funções de transferência, equações diferenciais
Equações booleanas, tabelas verdade, BDDs
Máquinas de estado finitas, operações
Algoritmos
Especificações funcionais
Funções de transferência, equações diferenciais
Equações booleanas, tabelas verdade, BDDs
Máquinas de estado finitas, operações
Algoritmos
Especificações funcionais
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 8 / 72
1
EDIF
LEF / DEF
Spice
VHDL
C, C++, Hardware C
Java
Spice
CIF, GDS2
Eixo ComportamentalSistêmico
Algorítmico
Micro arquitetural
Lógico
Elétrico
Eixo Estrutural
Eixo Geométrico
processadores, memórias, barramentos
módulos de hardware
registradores, multiplexadores, operadores
Portas lógicas, flip-flops
Transistores, resistores, capacitores, indutores
Leiaute das máscaras, retângulos, polígonos
Células de biblioteca, modelos de posição de pinos
Macro-células, planta baixa de blocos
Módulos, clusters, cores, planos de clock/alimentação
Partições físicas, componentes, placas
Funções de transferência, equações diferenciais
Equações booleanas, tabelas verdade, BDDs
Máquinas de estado finitas, operações
Algoritmos
Especificações funcionais
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 9 / 72
1
Eixo ComportamentalSistêmico
Algorítmico
Micro arquitetural
Lógico
Elétrico
Eixo Estrutural
Eixo Geométrico
processadores, memórias, barramentos
módulos de hardware
registradores, multiplexadores, operadores
Portas lógicas, flip-flops
Transistores, resistores, capacitores, indutores
Leiaute das máscaras, retângulos, polígonos
Células de biblioteca, modelos de posição de pinos
Macro-células, planta baixa de blocos
Módulos, clusters, cores, planos de clock/alimentação
Partições físicas, componentes, placas
Funções de transferência, equações diferenciais
Equações booleanas, tabelas verdade, BDDs
Máquinas de estado finitas, operações
Algoritmos
Especificações funcionais
1- “síntese”
2- simulação
3- mapeamento
4- place&route
5- fabricação
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 10 / 72
1NíveisNíveis de de AbstraçãoAbstração e e SínteseSíntese
Architectural level Logic level Circuit levelB
ehav
iora
l lev
elSt
ruct
ural
leve
l
For I=0 to I=15Sum = Sum + array[I]
0
0 0
0
State
Memory
+
Control
Clk
Architecturesynthesis
Logicsynthesis
Circuitsynthesis
Layout level
Layoutsynthesis
Compilação para silicio (não é um grande sucesso)
(Library)(register level)
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 11 / 72
1E
sfor
çoE
sfor
ço
Tempo de Tempo de ProjetoProjeto
SistêmicoSistêmico
RTLRTL
LógicoLógico
-- SobreposiçãoSobreposição de de fasesfases no no projetoprojeto parapara atingiratingir timetime--toto--marketmarket-- MudançasMudanças paralelasparalelas emem multiplosmultiplos níveisníveis e e emem multiplasmultiplas equipesequipes
TransistorTransistor
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 12 / 72
1ProjetoProjeto de de SistemasSistemas DigitaisDigitais
• Devido a alta complexidade dos sistemas digitais atuais, faz-se necessário a adoção de uma sistemáticametodologia de projeto.
• Metodologia de projeto são sequências de transformações que partem de uma descrição ouespecificação inicial até chegar a uma descriçãovalidada desse sistema para o processo de fabricação.
• Nível de fabricação pode ser máscaras no caso de circuitos integrados de aplicação especifica ou bitstreamno caso de FPGAs.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 13 / 72
1ProjetoProjeto de de SistemasSistemas DigitaisDigitais
As transformações podem ser de duas naturezas:
• Transformações de síntese
• Transformações de validação
Não válida válida
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 14 / 72
1Sistemas DigitaisSistemas Digitais
• Aboradagem Descendente: decompõe o sistema em subsistemas que são por sua vez decompostos em subsistemas até atingir o níve de abtração desejado.
• Desafio: obter a decomposição adequada para cada nível para que no final os critérios de projeto (área, desempenho, potência) sejam atingidos.
• Abordagem Ascendente: conecta módulos disponíveis para formar subsistemas que por sua vez são conectados para formar subsistemas até que a especificação funcional seja satisfeita.
• Desafio: trabalhar com um conjunto muito grande de subsistemas pequenos para compor um sistema muito complexo.
Projeto
Módulos
Portas lógicas básicas e flip-flops
Descrição funcional
transistores
Layout
Linguagens de descrição de
hardware
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 15 / 72
1Sistemas DigitaisSistemas DigitaisProjeto: Arbodagem Descendente
Módulos
Portas lógicas básicas e flip-flops
transistores
Layout
Projeto de Sistemas Digitais usando fluxogramas, grafos, máquinas de
estados e diagrama de blocos
Descrever o projeto em linguagens de descrição de hardware como
por exemplo VHDL
Usar ferramentas de síntese lógica para bibliotecas de células como o Leonardo da
Mentor
Usar ferramentas de síntese lógica para plataformas programaveis como FPGAs (Xilinx – ISE, Altera – Quartus, Actel –
Libero).
Verificar funcionalmente através de simulação lógica com e sem atraso.
Descrição funcional
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 16 / 72
1Sistemas DigitaisSistemas DigitaisProjeto: Arbodagem Ascendente
Módulos
Portas lógicas básicas e flip-flops
transistores
Layout
Projeto de somadores, multiplicadores e outros subsistemas combinacionais e
sequenciais de alta eficiência em termos de área, desempenho e potência para uso em sistemas digitais complexos.
Descrever o projeto em linguagens de descrição de hardware como por exemplo VHDL ou em esquemático
Descrição funcional
Verificar funcionalmente através de simulação lógica com e sem atraso.
Verificar elétricamente através de simulação elétrica (SPICE)
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 17 / 72
1ProjetoProjeto BaseadoBaseado emem EsquemáticoEsquemático
• Simbolo do módulo define a interface• Esquemático do módulo define a função• Top - down: faz primeiro o simbolo e depois o esquemático• Bottom - up: faz primeiro o esquemático e depois o símbolo.
Symbol
Schematic
Basic gate
Logic module
Long and tedious
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 18 / 72
1ProjetoProjeto BaseadoBaseado emem SínteseSíntese
• Define modulo e o comportamento em uma linguagem adequeada. (também usada para simulação)
• Usa ferramentas de sintese para a geração do esquemático.
always @(posedge clk)beginif (set) coarse <= #(test.ff_delay) offset;else if (coarse == count_roll_over)
coarse <= #(test.ff_delay) 0;else coarse <= #(test.ff_delay) coarse + 1;end
A única maneira para fazer projetos com milhões de portas!
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 19 / 72
1Sistemas DigitaisSistemas Digitais
• Levar em cosideração o projeto na abordagem descendente:
... mas também a abordagem ascendente no momento de otimizar certos blocos e subsistemas no projeto final do sistema digital visando o melhor custo x benefício.
Projeto: considerações finais
ChipALGORITMO HARDWARE
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 20 / 72
1O que esperamos de um Sistema Digital?O que esperamos de um Sistema Digital?
waffer
Fatores de evolução
– densidade de integração , área ocupada
– consumo de potência
– freqüência de operação
– custo de fabricação
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 21 / 72
1Wafer of Intel® Itanium® processorsWafer of Intel® Itanium® processors
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 22 / 72
1
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 23 / 72
1Tipos de componentesTipos de componentes
Circuito de aplicação específica (ASIC):circuito integrado projetado especialmente para uma determinada função e sistema digital.
• Full-custom • semi-custom• Standard cell
Lógica programável (FPGAs): circuito que pode ser customizado e re-
programado para realizar diversas funções.
Compromisso:Custo X tempo de projeto X desempenho
Chip
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 24 / 72
1ProjetoProjeto de de SistemasSistemas DigitaisDigitais
1 – Sintaxe e a Semântica das descrições de entrada e saída
2 – Um conjunto de algoritmos para a traduação dasdescrições de entrada em descrições de saída
3 – Um conjunto de componentes para ser usado naimplementação
4 – Definição e intervalo das restrições do projeto5 – Os mecanismos de seleção do estilo de projeto,
arquitetura, topologia e componentes. 6 – Estratégias de controle (ordem em que as tarefas são
executadas).
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 25 / 72
1
10100011001
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 26 / 72
1ParâmetrosParâmetros de de ProjetoProjeto
• Desempenho: velocidade, potência, funcionalidade e flexibilidade
• Custo de manufatura: tamanho do die (área), tecnologia a ser fabricada (ASIC), ou arquitetura programável (FPGA).
• Tempo de projeto: custo do engenheiro, agenda
• Testabilidade: geração de teste, teste on-line, off line, etc…
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 27 / 72
1Problemas:Complexidade sobe 58%/anoprodutividade aumenta só 21%/ano
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 28 / 72
1DesafiosDesafios de de ProjetoProjeto
• Sistemas estão cada vez maiores, tempo de projeto requeridoestá cada vez menor:– > 100 Milhões de portas é comum para ASICs– > 0.4 Milhões de linhas de código C para descrever o
comportamento de um sistema– > 5 Milhões de linhas de código RTL
• Equipes de projeto estão muito grandes para grandes projetos: – Muitas centenas de pessoas– Diferentes abilidades– Trabalho concorrente e em multiplos níveis– Lidar com a complexidade do projeto e a comunicação é
muito dificil.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 29 / 72
1DesafiosDesafios de de ProjetoProjeto
• Ferramentas de projeto estão cada vez mais completas masainda inadequeadas.
– Típico projetista precisa usar aproximadamenteumas 50 ferramentas para cada componenteprojetado.
– Ferramentas tem muito bugs, as interfaces não sãototalmente compatíveis, etc.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 30 / 72
1DesafiosDesafios de de ProjetoProjeto
• Decisões sobre os aspectos de projeto são muito dificeis: – Compromisso entre desempenho, custo e time-to-market (tempo
para chegar ao mercado).– Decisões devem ser feitas com 2 a 3 anos de antecedencia. – Os aspectos de projeto são difíceis de medir sem fazer o projeto
realmente. – Ciclo do produto.
• Verificação funcional– A simulação ainda é o veiculo principal para a verificação
funcional mas é inadequada por causa do tamanho de projeto. – Bugs em hardware são muito difíceis de se recuperar e muito
caros (não é como em software).
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 31 / 72
1DesafiosDesafios de de ProjetoProjeto
• Principais diferenças entre os níveis de abstração:– Modelagem detalhada e tamanho da equipe para manter o
modelo: • Modelos de alto-nível podem ser mantidos por 1 ou 2
pessoas. • Modelos detalhados devem ser particionados o que resulta
no aumento em comunicação. – Modelagem precisa versus modelagem compacta
• Modelos compactos omitem detalhes e mostram apenasestimações de implementação.
• Modelos detalhados são extensos e dificil de adaptar emmudanças grandes de projeto.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 32 / 72
1DesafiosDesafios de de ProjetoProjeto
– Velocidade de simulação versus desempenho do hardware
• Modelos de alto-nível podem ser simulados maisrapidamente mas não podem ser implementadostão facilmente automaticamente.
• Modelos de baixo nível podem ser feitos para teruma rápida implementação mas não podem ser simulados rapidamente.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 33 / 72
1Ferramentas de Automação de ProjetoFerramentas de Automação de Projeto
Soluções para Projeto:• aumentar equipes (+custo e -controle)• Systems-on-Chip (SOCs) = ReusabilidadeFerramentas:• modelar efeitos elétricos precisamente• tratar problemas grandes eficientemente• prover metodologia convergente
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007
1
RevisãoRevisão de de SistemasSistemas DigitaisDigitais
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 35 / 72
1IntroduçãoIntrodução
• Circuitos combinacionais não tem memória• As saídas são funções dos valores atuais das entradas• O circuito é definido por um conjunto de funções boolenas que
tratam valores binários 0s e 1s.
?
ABCD
F (A,B,C,D)
G (A,B,D)
Por exemplo, sabendo que
F = ( A + B ).C.D, logo para A=0, B=1, C=1 e D=1, tem-se F=1,e para A=0, B=1, C=1 e D=0, tem-se F=0.
G= A + /B + C, logo para A=0, B=0 e C=0, tem-se F=1.…..
Circuitos Combinacionais
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 36 / 72
1TecnologiaTecnologia CMOSCMOS
• CMOS = Complementary Metal Oxide Silicon
W
L
Elemento básico: o transistor (chave)
-Transistor PMOS-Transistor NMOS
corrente
2.0 μm - 19901.8 μm1.2 μm1.0 μm0.8 μm0.6 μm0.35 μm0.22 μm0.13 μm90 nm60 nm – 2005…
Avanço da Tecnologia CMOS
• Maior densidade de transistrores• Menor tensão de alimentação• Maior desempenho
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 37 / 72
1
G = 0VDS
Símbolo: SSSS
DD
GG
-- -- -- N N -- -- + + + + ++ + + + +
-- -- -- -- -- -- ---- -- -- -- -- --
Se G = 0V G = 0V (‘0’)(‘0’)Chave aberta (off)
G = vccDS
+ + + + ++ + + + +
-- -- -- -- -- -- ---- -- -- -- -- --
Se G = G = VccVcc (‘1’)(‘1’)Chave fechada (on)
SS
DD
GG
-- -- -- N N -- ---- -- -- N N -- ---- -- -- N N -- --
DD
GG
Substrato Tipo P Substrato Tipo P
Transistor NMOSTransistor NMOS
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 38 / 72
1
G = vccDS
Símbolo: SS
DD
GG
+ + P + ++ + P + + + + P + ++ + P + +
+ + + + ++ + + + +
-- -- -- -- -- -- ---- -- -- -- -- --
Se G = G = VccVcc (‘1’)(‘1’)Chave aberta (off)
Se G = 0V G = 0V (‘0’)(‘0’)Chave fechada (on)
SS
DD
GG
SS
DD
GG
G = 0VDS
+ + P + ++ + P + + + + P + ++ + P + ++ + + + ++ + + + +
-- -- -- -- -- -- ---- -- -- -- -- --
Substrato Tipo N Substrato Tipo N
Transistor PMOSTransistor PMOS
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 39 / 72
1PortasPortas LógicasLógicas BásicasBásicas emem CMOSCMOS
• Funções Booleanas:– E– OU– NEGAÇÃO– E NEGADO– OU NEGADO– OU EXCLUSIVO– OU NEGADO EXCLUSIVO
E1E1E2E2E3E3
E1E1E2E2E3E3
Vcc
VSSVSS
S = f (E1,E2,E3)S = f (E1,E2,E3)
Somente Somente PMOSPMOS
Somente Somente NMOSNMOS
pull uppull up
pull downpull down
entradas
•A lógica PMOS permite conectar o sinal de saída a Vcc (5V), ‘1’ lógico.• A lógica NMOS permite conectar o sinal de saída a Gnd (0V), ‘0’ lógico.• Sempre um dos caminhos, para Vcc ou Gnd, estão fechados para a saída, conectando a mesma a Vcc ou 0V.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 40 / 72
1ValoresValores representadosrepresentados emem bináriobinário
– Lógica digital utiliza a representação binária 0s e 1s • 1 como ligado ou máxima tensão de alimentação• 0 como desligado ou mínima tensão de
alimentação (terra ou ground).
“0”
“1”
0 V
1 V
2 V
3.1 V
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 41 / 72
1PortaPorta LógicaLógica: : InversorInversor (NOT)(NOT)
E SE S0 10 11 01 0
EE SS
S = 0VS = 0V(S = ‘0’)(S = ‘0’)
E = 5VE = 5V(E = ‘1’)(E = ‘1’)
S = VCCS = VCC(S = ‘1’)(S = ‘1’)
E = 0VE = 0V(E = ‘0’)(E = ‘0’)
EE SS
GND
VCC
S = E
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 42 / 72
1PortaPorta LógicaLógica: E : E NegadoNegado (NAND)(NAND)
S = 0VS = 0V
E1 E2 SE1 E2 S0 0 10 0 10 1 10 1 11 0 11 0 11 1 01 1 0
SSE1E1E2E2
E1E1 E2E2
E1E1
E2E2
A SAÍDA É 0SOMENTE QUANDO TODAS AS ENTRADAS FOREM 1, CASO CONTRÁRIO HAVERÁ 1 NA SAÍDA.
E1E1SS
E2E2
E1E1 E2E2
S = E1 . E2
VCC
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 43 / 72
1PortaPorta LógicaLógica: OU : OU negadonegado (NOR)(NOR)
S = VCCS = VCC
E1 E2 SE1 E2 S0 0 10 0 10 1 00 1 01 0 01 0 01 1 01 1 0
SSE1E1E2E2
E1E1 E2E2
E1E1
E2E2A SAÍDA É 1SOMENTE QUANDO TODAS AS ENTRADAS FOREM 0, CASO CONTRÁRIO HAVERÁ 0 NA SAÍDA. E1E1
SS
E2E2
E1E1
E2E2
S = E1 + E2
VCC
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 44 / 72
1PortaPorta LógicaLógica: E (AND): E (AND)
E1 E2 SE1 E2 S0 0 00 0 00 1 00 1 01 0 01 0 01 1 11 1 1
SSE1E1E2E2
A SAÍDA É 1SOMENTE QUANDO TODAS AS ENTRADAS FOREM 1, CASO CONTRÁRIO HAVERÁ 0 NA SAÍDA.
E1E1
E2E2
E1E1 E2E2
S = E1 . E2
VCC
SS
GND
VCC
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 45 / 72
1PortaPorta LógicaLógica: OU (OR): OU (OR)
E1 E2 SE1 E2 S0 0 00 0 00 1 10 1 11 0 11 0 11 1 11 1 1
SSE1E1E2E2
A SAÍDA É 0SOMENTE QUANDO TODAS AS ENTRADAS FOREM 0, CASO CONTRÁRIO HAVERÁ 1 NA SAÍDA.
S = E1 + E2
E1E1E2E2
E1E1
E2E2
VCC
SS
GND
VCC
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 46 / 72
1
90%
10%
90%
10%
ttrr ttff
5V
0V
Sinal Sinal dedesaídasaída
Sinal Sinal de de entradaentrada
tt
•• ttrr - Tempo de subida (rise time)•• ttff - Tempo de descida (fall time)
AtrasosAtrasos: tempo de : tempo de subidasubida e e descidadescida
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 47 / 72
1
50%
ttdd--lhlh ttdd--hlhl
5V - high
0V - low
Sinal Sinal dedesaídasaída
Sinal Sinal de de entradaentrada
tt
•• ttdd--lhlh - Tempo de atraso de propagação do sinal de saída quando este passa do nível lógico ‘0’ para o nível lógico ‘1’ (delay time _ low-high)•• ttdd--hlhl - Tempo de atraso de propagação do sinal de saída quando este passa do nível lógico ‘1’ para o nível lógico ‘0’ (delay time _ high-low)•• ttdd - Tempo de atraso de propagação MÉDIO do sinal de saída (delay time)
ttdd = (ttdd--lhlh + ttdd--hlhl ) / 2
50%
AtrasosAtrasos: tempo de : tempo de propagaçãopropagação
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 48 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos CombinacionaisPortas Lógicas Básicas
E SS = E
SE1E2S = E1 . E2
SE1E2S = E1 + E2
SE1E2...En
NOT
NAND
NOR
XORSE1E2...En
XNOR
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 49 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Saída depende apenas das entradas
Comparador de 4 bits (A3A2A1A0 e B3B2B1B0)
A3
B3A2
B2
B1A0
B0
A1comparador
Blocos lógicos
D3
D2
D1
D0
A1A0
Decodificador de 2 bits (A1A0)
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 50 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Saída depende apenas das entradas
Multiplexador 4:1
Blocos lógicos
A0
S1 S0
00
01
10
11
A1
A2
A3
0 00 11 01 1
A3
A2
A1
A0
S1S0
mux
mux
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 51 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Saída depende apenas das entradas
Multiplexador 4:1
Blocos lógicos
A0
S1 S0
00
01
10
11
A1
A2
A3
0 00 11 01 1
muxA0
A1
A2
A3
S0 S1
mux
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 52 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Somador de 1 bit completo (Full-adder):
Blocos lógicos
FA: full adder
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 53 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
Somador Ripple-Carry
Blocos lógicos
A3 B3 A2 B2 A1 B1 A0 B0
S3 S2 S1 S0
Cin
C3
C0C1C2
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 54 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Somador Carry Look Ahead
Blocos lógicos
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 55 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
Somador de n bits
A ⇒ a3 a2 a1 a0 B ⇒ b3 b2 b1 b0
_____________________________________________
s4(Cout) s3 s2 s1 s0
HAHAHAHA
HAHA
HAHA
HAHA
HAHA
HAHA
HAHA
HAHA
a0b0a1b1a2b2a3b3
s0
s1
s2
HAHA
s3s4
Blocos lógicos
HA: half adder
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 56 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Unidade Aritmética e Lógica (ULA) – 1 bit
Blocos lógicos
FA
A0
S0
S1
C0
1 0
A01 0
B0 0
F0
S1 S0 Função0 0 soma A+B0 1 subtração A-B1 0 inversão de A1 1 comparação
B0
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 57 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Unidade Aritmética e Lógica (ULA) – n bit
Blocos lógicos
FA
A0
S0
S1
C0
1 0
A01 0
B0 0
F0
B0
FA
A1
S1
C1
1 0
A11 0
B1 0
F1
B1
S0
...FA
An
Cn
1 0
An1 0
Bn 0
Fn
Bn
S0
S1
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 58 / 72
1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais
• Multiplicador
b3 0 b2 0 b1 0 b0 0
P7 P6 P5 P4
a0
0
a1
0
a2
0
a3
0
P0
P1
P2
P3
Blocos lógicos
FA
bj sum in
sum out
carryout
ai
carryin
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 59 / 72
1
• Elemento capaz de armazenar um valor por tempo indeterminadoaté que sua entrada de controle faça ele armazenar um outro valor.
• Usado em circuitos sequencias para armazenar dados:– Memoria– Registradores– Maquinas de estados– Contadores– Etc.
Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches e Flip-Flops
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 60 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches: sensível ao nível do relógio (clk)
R
S
Q
Q S
R Q
Q
R
S
Q
QS
R Q
Q
clkclk
QR S0 00 11 01 1
Qsetresetinvalido
QR S0 00 11 01 1
invalidoresetsetQ
Qclk R S0 00 11 01 1
QsetresetInvalidoQ
11110 X X
Qclk R S0 00 11 01 1
invalidoresetsetQQ
00001 X X
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 61 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches: sensível ao nível do relógio (clk)
J
K
Q
Q
D Q
Q
J
K
Q
Q
D Q
Q
clkclk
QJ K0 00 11 01 1
QsetresetQ
Qclk J K0 00 11 01 1
QsetresetQQ
11110 X X
Qclk D01
01Q
001 X
Qclk D01
01Q
110 X
clk
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 62 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisFlip-flops: sensível a borda do relógio (clk)
D Q
Q
J
K
Q
Q
D Q
Q
clkclk
Qclk J K0 00 11 01 1
QsetresetQQX X X
Qclk D01
01QX X
Qclk D01
01QX X
clk
R
S
Q
Q
clk
Qclk R S0 00 11 01 1
QsetresetInvalidoQX X X
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 63 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisRegistradores
Q
Qclk Ddado dado
QX Xclk
D
Q
Qclk reset enable D1 X X0 1 dado0 0 X X X X
resetdadoQQ
clk
Dreset enable
X
Reset síncrono
Q
Qclk reset enable D1 X X0 1 dado0 0 X 0 X X
resetdadoQQ
clk
Dreset enable
X
Reset assíncrono
X
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 64 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisRegistradores Deslocamento
Q
Qclk reset enable D L/R1 X X X0 1 dado 00 0 X 10 0 X 00 1 X 1X X X X
resetdadoQi<=Qi-1Qi<=Qi+1QQ
clk
Dreset enable
X
L/R
LFSR: linear feedback shift register Uso de seed (semente)
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 65 / 72
1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisContadores
Q
Qclk reset load D1 X X0 1 dado0 0 X X X X
resetdadoQQ
clk
Dreset load
X
Q
Qclk reset enable D u/d1 X X X0 0 dado 00 0 X 1 0 1 X 00 1 X 10 X X X
resetdadoQ+1Q-1QQ
clk
Dreset enable
X
Xu/d
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 66 / 72
1Revisão:Revisão: Máquinas de EstadosMáquinas de Estados
• Uma máquina de estados é uma combinação de 5 elementos:
(Σ, X, g, x0, F)
Onde:Σ é um alfabeto finitoX é um conjunto finito de estadosg é a função de transição de estado g : X x Σ -> XX0 é o estado inicial, x0 ∈ XF é o conjunto de estados finais, F ⊆ X.
Definição Maquina de Estados
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 67 / 72
1Diagrama de EstadosDiagrama de Estados
• O diagrama de estados representa a máquina de estados finito e contem:– Circulos: que representam os estados da máquina rotulados
com o nome do estado e tambem ou não com sua codificação. – Arcos diretos: que representam as transições entre estados
rotulados com entradas/saídas para a transição de estados.
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 68 / 72
1Máquina de Estados FinitosMáquina de Estados Finitos
• Saída depende apenas do estado atual.
TIPO MOORE
Lógica de próximo estado
clk
estado
Entradas
saídas
resetA=‘0’
A=‘1’reset
A=‘0’
A=‘1’
S0
S1
F=‘0’;
F=‘1’;
A
F
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 69 / 72
1Maquina de Estados FinitosMaquina de Estados FinitosTIPO MEALY
• Saída depende da entrada e do estado atual.
Lógica de próximo
Estado e saída
clk
estado
Entradas
resetA=‘0’
A=‘1’reset
A=‘0’
A=‘1’
S0
S1
F=‘0’;
AF
F=‘1’;
F=‘1’;
F=‘0’;
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 70 / 72
1Maquina de Estados FinitosMaquina de Estados FinitosTIPO MEALY
• Saída depende apenas do estado atual.
Lógica de próximo
Estado e saída
clk
estado
Entradas
resetA=‘0’
A=‘1’reset
A=‘0’
A=‘1’
S0
S1
F=‘0’;
AF
F=‘1’;
F=‘1’;
F=‘0’;
Solucionar problemas de estabilização
clk clk
Saída
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 71 / 72
1Considerações sobre Diagramas de EstadosConsiderações sobre Diagramas de Estados
• Máquinas de estado (FSM) podem estar em apenas um estado por vez no tempo, logo há em apenas um estado ou circulo em um determinado tempo t.
• Transição de estados são permitidas apenas na transição de subida OU descida do relógio (clk), dependendo do elemento de armazenamento de estado (se é sensivel a borda de descida ou subida). FSM sincronas!!!
• A representação de máquinas de Mealy e Moore são diferentes como visto. – Máquinas de Mealy, as entradas e saidas são definidas nos
arcos (transições entre estados).– Máquina de Moore, as entradas são definidas nos arcos
(transições entre estados) e a saída é definida no estado (dentro do círculo).
Aula
Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 72 / 72
1Exercício:Exercício: Projeto de uma máquina de Projeto de uma máquina de estados até o hardwareestados até o hardware
1. Descrição do problema em diagrama de estados2. Montagem da tabela de proximo estados e saída3. Descrição do esquemático lógico da FSM
Problema: Detector de sequência ...1101...
Sinal A
clk reset
Saida D (detectou D=1)
Sinal de entrada deve ser amostrado...