Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores. (Informática Industrial)

Tamanho: px
Começar a partir da página:

Download "Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores. (Informática Industrial)"

Transcrição

1 Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores (Informática Industrial) Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Electrotécnica e de Computadores Edição 2004/05 António José Duarte Araújo 1 Sistemas Digitais Importância crescente Cada vez mais áreas de aplicação Comunicações móveis Automóvel Computação pessoal Custo cada vez mais baixo PCs, telemóveis, equipamentos domésticos,... Tamanho físico reduzido densidade do processo 0.18µ gates/mm 2 Consumo de energia cada vez menor alimentação eléctrica com baterias, telemóveis, computadores portáteis Projectar um SD if it wasn t hard they wouldn t call it hardware, J.F. Wakerly Ferramentas computacionais automatizam partes do projecto......mas a concepção e o desenho têm de ser feitos à mão 2

2 Fluxo de projecto (típico) Ideia um controlador de intensidade luminoas para ligar e desligar luzes de casa sempre que anguem entra ou sai da casota do cao que se chamabobi e tem tambem 1 - receptor um gato que se chama tareco 2 - um cpu para calcular a luz 3 - interface de potência interface processador memória sistema (algoritmo) validação funcional circuito (RTL ou lógico) Validação funcional Síntese (mapeamento tecnológico) D Q D Q /dev/null Validação temporal implementação teste CI 3 Concepção do sistema Tecnologias de implementação Como vai ser construído o sistema? Um ASIC ou CIs off-the-shelf? Que tecnologia de montagem a usar nas cartas de circuito impresso? A decidir o mais cedo possível no ciclo de projecto Particionamento um sistema pode não caber num único CI divisão da funcionalidade em diferentes dispositivos A/D memória I/O CPU co-proc. A/D µp ASIC RAM? funcionalidade rapidez disponibilidade número de pinos encapsulamento fabricante(s)?pcb COB MCM wire-wrap 4

3 Fabricar um CI: que tecnologia? Critérios a ter em conta acessibilidade às ferramentas e bibliotecas custo de projecto e fabrico (prototipagem e produção) fiabilidade rapidez (ns / NAND, frequência máxima de clock) tamanho (área, número de gates ou transistores) consumo de energia dissipação térmica compatibilidade electromagnética resistência mecânica (do encapsulamento) 5 Ferramentas computacionais (no fluxo de projecto de circuitos integrados) CAD/CAE (Computer Aided Design/Computer Aided Engineering) fundamentais para projectar em tempo útil circuitos complexos vários problemas de optimização combinatória (NP-difíceis) geralmente não atingem soluções óptimas baseadas em processos de optimização do tipo shake&hope para problemas de dimensão reduzida, um projectista pode fazer melhor mas à custa de mais tempo; justifica-se apenas para partes pequenas Ferramentas CAD/CAE para projecto de sistemas digitais trabalham com representações electrónicas de SDs (modelos) alguns tipos de ferramentas... captura esquemática (é mais do que desenhar um circuito lógico...) síntese (lógica, RTL, alto nível) mapeamento tecnológico desenho físico (layout), verificação de regras geométricas simulação lógica, verificação funcional, verificação temporal análise temporal análise eléctrica, análise térmica modelação e simulação de faltas, geração de vectores de teste 6

4 Modelos de circuitos digitais Representações electrónica de SDs usadas e transformadas por ferramentas CAD/CAE Um modelo é uma aproximação! que pode ser boa e pode ser má rigor detalhe aproximação da tecnologia a simulação de um modelo nunca é igual ao seu funcionamento real Modelos (mais frequentemente) tratados por humanos modelos estruturais (esquemáticos) detalham a estrutura do circuito, interligando componentes entre si modelos comportamentais (HDLs, state charts, tabelas de verdade) descrevem o comportamento do sistema mas não contêm informação estrutural 7 Classificação de modelos: Y- chart estrutural processadores, memórias registos, muxs portas lógicas transistores dispositivo transferências entre registos expressões booleanas funções de transistores layout de transistores fluxogramas, algoritmos comportamental sistema RTL lógico níveis de abstracção células físico módulos, chips placas, MCMs 8

5 Especificação de um SD Tradicionalmente captura esquemática (modelo estrutural) interligação de portas lógicas, flip-flops, componentes RTL, bibliotecas de componentes específicas de uma tecnologia anotação do desenho com atributos nomes, parâmetros de componentes, restrições para implementação captura a estrutura (física) do circuito tabelas de verdade, expressões booleanas (modelo comportamental) conveniente para blocos de lógica combinatória ou FSMs minimização lógica codificação de estados representação textual, tradução automática para circuitos lógicos indepente da tecnologia alvo de implementação 9 Especificação de um SD... e actualmente projecto a níveis de abstracção mais elevados representações comportamentais ao nível RTL e algorítmico linguagens normalizadas para descrição de hardware suportadas por ferramentas de síntese automática combinam modelação estrutural com comportamental permitem ao projectista abstrair-se da tecnologia alvo (mas não totalmente!) Portabilidade, facilidade de manutenção e documentação redução do ciclo de projecto permite explorar diversas alternativas com diferentes compromissos comparando com a programação de computadores... nível de abstracção crescente código máquina assembly C, Pascal layout portas lógicas HDLs 10

6 Projecto estruturado Hierarquia e modularidade conceitos semelhantes aos empregues em programação estruturada objectivos: reutilização de componentes (sub-circuitos) facilitar a verificação do projecto simplificar a produção da documentação (geralmente esquecida!) quantos níveis de hierarquia? que granulosidade? critérios principais: funcionalidade e complexidade dos módulos uma diferença importante da hierarquia usada em software: não significa reduzir a complexidade do circuito. geralmente desaparece durante as várias fases do projecto 11 Metodologias de projecto Abordagens típicas bottom-up (capture-and-simulation) hierarquia criada de baixo para cima (lógico RTL sistema) ciclo de projecto: manual desenhar os circuitos mais simples (ou usá-los se já existirem) validar esses circuitos por simulação usá-los na construção de outros circuitos mais complexos top-down (describe-and-synthesize) hierarquia criada de cima para baixo (sistema RTL lógico) ciclo de projecto: automático especificar o sistema de forma comportamental sintetizar e avaliar as soluções resultantes de diferentes restrições na prática: top-down + bottom-up = meet-in-the-middle 12

7 Validação do projecto Simulação funcional verificação de uma especificação a um nível abstracto geralmente usados modelos unit-delay ou zero-delay verificar que é satisfeita a funcionalidade desejada se não funciona? detecção e depuração de erros (debug) problemas: como definir os vectores de simulação? como se sabe que o resultado é correcto? quão exaustivo é o teste? fontes de erro comuns especificações incompletas, ligações erradas ou nomes trocados uso incorrecto de ferramentas de síntese automática distração... (Save before quit? ou Quit without save?) é bom lembrar: os computadores não erram, os humanos sim...e que: são humanos que criam as ferramentas de software! 13 Validação do projecto Verificação temporal circuitos lógicos introduzem atrasos O modelo do circuito ainda funciona considerando os atrasos? qual é o desempenho (atrasos, frequência de relógio)? o que limita o desempenho? Como se pode aumentar? modelos de atrasos específicos de uma tecnologia depem do circuito em que um componente se insere (fan-out) quanto mais completo é o modelo, mais complexa é a simulação tp LH, tp HL, t r, t f (mínimos, típicos e máximos) interligações também introduzem atrasos função do comprimento e da forma (30ps/cm no vazio) só são realmente conhecidos após a implementação física do circuito 14

8 Teste Teste do circuito fabricado testar para quê? minimizar ( 0%) o número de circuitos defeituosos vidos detectar e diagnosticar defeitos de fabrico melhorar o sistema ou o processo produtivo como testar? construir um modelo de faltas do circuito criar vectores de simulação que as consigam detectar gerando saídas diferentes na presença ou ausência da falta ferramentas para ATPG - Automatic Test Pattern Generation o teste é uma fatia importante do custo de produção projecto orientado para a testabilidade (DfT - Design for Testability) auto-teste (BIST - Built-in Self Test) teste de PCB (boundary scan test, normas IEEE e IEEE1149.4) 15 Linguagens de descrição de hardware Modelação de um circuito (digital) com HDL descrições comportamentais permitem níveis elevados de abstracção definir a funcionalidade de um sistema sem detalhar a sua estrutura fluxo de projecto seguindo uma metodologia top-down descrição em HDL, validação, síntese automática (RTL+lógica) representação textual facilita a portabilidade, edição e documentação duas perspectivas de modelação no desenvolvimento de um projecto construir modelos sintetizáveis do circuito a fabricar subsets das HDLs e regras de modelação depem das ferramentas por exemplo, $monitor() não é sintetizável! um modelo sintetizável deve descrever bem o seu funcionamento construir modelos não sintetizáveis para validar o projecto (testbench) não será sintetizado; descreve um comportamento apenas para simulação 16

9 Modelação com HDLs modelo não sintetizável (testbench) clock reset memórias A/D e D/A interfaces ficheiros... geração de estímulos circuito a fabricar análise de respostas ficheiros registos de texto waveforms... simula o comportamento de dispositivos externos modelo sintetizável (vai ser o circuito lógico) analisa respostas para verificar a correcção do modelo 17 Verilog e VHDL - história VHDL 80: por necessidade de normalização, documentação e portabilidade, e DOD funda projecto para criar linguagem de programação para descrever hardware 83: início do desenvolvimento do VHDL (IBM, Texas, Intermetrics) 87: o DOD impõe que todos os SDs fossem descritos em VHDL; standard IEEE 1076; os sistemas electrónicos do F-22 foram um dos primeiros projectos em VHDL 93: VHDL é revisto e adoptado como o standard IEEE : adopção generalizada por ferramentas EDA; package para ferramentas de síntese (IEEE ); modelação de bibliotecas para ASIC e FPGA (IEEE ) Verilog 81: Gateway Design Automation, Philip Moorby cria GenRad HDL e o simulador HILO 83: Gateway lançou a linguagem Verilog HDL e um simulador de Verilog 85: linguagem e simulador são enriquecidos (Verilog-XL) 87: Synopsys adopta Verilog como formato de entrada para ferramentas de síntese 89/ 90: Cadence compra Gateway e separa o simulador da linguagem; a linguagem é libertada para o domínio público; é criado o OVI (Open Verilog International) 93: neste ano, de todos os circuitos submetidos a fundições de silício, 85% foram desenvolvidos em Verilog. 95: Verilog é revisto e adoptado como o standard IEEE

10 Verilog e VHDL - comparação capacidade de modelação é semelhante para modelos estruturais VHDL oferece melhor suporte para modelos abstractos e modelos de atrasos Verilog tem melhores construções para modelar ao nível lógico e switch level tipos de dados VHDL suporta tipos de dados abstractos (por exemplo estruturas) em Verilog os tipos são muito simples e mais próximos do hw (wire ereg) sintaxe e aprizagem VHDL é fortemente tipada, mais verbosa e requer mais tempo para aprizagem Verilog é mais simples, com uma sintaxe próxima da linguagem C parameterização VHDL tem construções para parametrizar número de bits, replicar estruturas e configurar modelos Verilog suporta apenas modelos com parâmetros e instanciação com redefinição de parâmetros 19 Modelação em HDLs (recomações gerais) Antes de iniciar a construção do modelo definir a arquitectura e estruturação do projecto (particionamento) ferramentas de síntese não processam bem circuitos infinitamente grandes! Escrever o código de modo a reflectir a arquitectura estruturado em módulos e funções, ter em mente a reusabilidade favorecer a legibilidade: nomes, comentários, parêntesis, parâmetros... Garantir a precisão da simulação deve traduzir fielmente o comportamento do hardware gerado modelar correctamente o comportamento das partes não sintetizáveis 20

11 Verilog HDL Linguagem de descrição de hardware digital representação textual e estruturada de circuitos lógicos originalmente para modelação e simulação de circuitos digitais actualmente usada também como fonte para síntese automática interligação de modelos estruturais com modelos comportamentais não é uma linguagem de programação! Unidade básica de um modelo em Verilog: module: sub-circuito definido por: interface (entradas, saídas ou sinais bidireccionais) implementação (modelo do circuito digital) preset preset clear q qbar q clear qbar 21 Modelo de um full-adder Verilog - introdução saída instância primitivas lógicas module full_adder(a, b, cin, s, cout); input a, b, cin; output s, cout; wire t1, t2, t3; xor xor_1( s, a, b, cin ); and and_1( t1, a, b ), and_2( t2, a, cin), and_3( t3, b, cin); or or_1( cout, t1, t2, t3); interface implementação module entradas 22

12 Verilog modelos estruturais Modelo de um somador de 4 bits usando o full-adder anterior module four_bit_adder(a, b, cin, s, cout); input [3:0] a, b; input cin; output [3:0] s; output cout; wire [2:0] cy; full_adder fa_0( a[0], b[0], cin, s[0], cy[0] ), fa_1( a[1], b[1], cy[0], s[1], cy[1] ), fa_2( a[2], b[2], cy[1], s[2], cy[2] ), fa_3( a[3], b[3], cy[2], s[3], cout ); module 23 Verilog verificação funcional Modelo completo do somador de 4 bits reunião dos módulos full_adder e four_bit_adder Verificação funcional do somador de 4 bits (módulo testbench) module four_bit_adder_testbench; reg [3:0] a, b; reg cin; wire [3:0] s; wire cout; four_bit_adder adder4(a, b, cin, s, cout); registos (seguram valores) fios (propagam valores) o circuito a testar initial $monitor($time, ci=%b, a=%d, b=%d, s=%d, co=%b, cin, a, b, s, cout); cin=0; a=2; b=4; #10 a=0; #10 a=4 b1111; b=0 #10 $stop; module monitor de sinais alguns estímulos de simulação controlo do simulador (pára) 24

13 Verilog verificação funcional Verificação exaustiva do somador de 4 bits se fosse de 32 bits, e gastando apenas 1ns para cada vector, seria necessário 1170 anos! module four_bit_adder_testbench; reg [3:0] a, b; reg cin; wire [3:0] s; wire cout; four_bit_adder adder4(a, b, cin, s, cout); initial $monitor($time, ci=%b, a=%d, b=%d, s=%d, co=%b", cin, a, b, s, cout); cin = 0; for(a=0;a<15;a=a+1) for(b=0;b<15; b=b+1) #10 b=b; $stop; module 25 Verilog modelos comportamentais Modelo comportamental do full-adder ligasà expressão sempre que... module full_adder_comp(a, b, cin, s, cout); input a, b, cin; output s, cout; reg cout; assign s = a ^ b ^ cin; a or b or cin ) cout = (a & b) (a & cin) (b & cin); module modela um bloco combinacional operadores lógicos 26

14 Verilog modelos comportamentais Modelo comportamental do somador de 4 bits sempre que... module four_bit_adder_c(a, b, cin, s, cout); input [3:0] a, b; input cin; output [3:0] s; output cout; reg cout; reg [5:0] ta, tb, ts; // registos temporários a or b or cin or ta or tb or ts ) {...} é concatenação de bits ta = { 1 b0, a, 1 b1 }; tb = { 1 b0, b, cin }; o somador ts = ta + tb; cout = ts[5]; s = ts[4:1]; extrair os resultados module 27 Verilog circuitos síncronos o elemento mais simples: um flip-flop tipo D q segura um valor lógico module my_dff(, d, q); input, d; output q; reg q; negedge ) q <= d; module modela um bloco síncrono com sempre que 28

15 Verilog um contador up/down unidade de tempo do simulador / precisão `timescale 1ns/100ps module updown_counter(, reset, enable, down, dout, _count); input, reset, enable, down; output [3:0] dout; reg [3:0] dout; output _count; combinacional assign _count = enable & (down? (dout==0) : (dout==15) ); posedge or posedge reset) if ( reset ) dout <= 0 if ( enable ) if ( down ) dout <= dout 1; dout <= dout + 1; module síncrono com reset síncrono 29 Verilog testbench para o contador `timescale 1ns/100ps module updown_counter_testbench; reg, reset, enable, down; wire [3:0] dout; wire _count; instância do contador updown_counter count_1(, reset, enable, down, dout, _count); initial = 0; down = 0; reset = 0; enable = 1; # 2 reset = 1; // apply reset # 6 reset = 0; // release reset # 300 // count up 30 clock cycles enable = 0; // disable counter # 40 down = 1; // count down # 100 enable = 1; // enable counter # 300 $stop; // stop simulation estímulos de simulação always #5 = ~; // 10ns clock period module 30

16 Modelação em Verilog Modelos estruturais instanciação de módulos ou primitivas primitivas lógicas: and, or, nand, nor, xor, xnor not, buf ligação de sinais por posição ou nome k1 k2 module xpto(a,b,c); input a,b; output c;... module xpto_1 a b c x1 primeiro sinal é saída, restantes são entradas xpto_2 a b c x2 module top; wire x1,x2; reg k1,k2; xpto xpto_1(k1,k2,x1), xpto_2(.c(x2),.a(x1),.b(k2)); module primeiro sinal é entrada, restantes são saídas 31 Verilog - modelos comportamentais Entidade básica: processo processo: um componente que realiza uma acção síncrono com um relógio, assíncrono ou combinacional activado por eventos abstractos (por exemplo dump da memória) Um sistema vários processos que operam concorrentemente comunicam entre si através dos sinais que os interligam Construções: initial statement; simula statement uma vez quando o simulador inicia (não é sintetizável) always statement; always trigger_event statement; repetestatement para sempre (é or b or wait(rqst == 1) 32

17 Verilog - modelos comportamentais Instruções condicionais if (condition) statement1 statement2 case (expression) expr1: statement1; expr2: statement2; default: statement3; case; if (a[2:0]==3 b010 && cy)... if (a[2:0]===3 b01z && cy)... case (ir[7:4]) 4 b0001:... 4 b0010:... default:... case; casez casex (Z é considerado don t care) (Z e X são don t cares) casex (ir[7:4]) 4 bxx01:... 4 bxx10:... default:... case; (expression)?(true):(false) acc=(ir[7:0]==4 b0011)? 0 : 255; 33 Ciclos Verilog - modelos comportamentais for(start;_expr;update) statement; for(i=0;i<8;i=i+1) x[i] = x[i+1] while(condition) statement; while(i<8)... repeat(loop_count) statement; forever statement; repeat(10) a[i]=a[i+1]; i=i+1; ; forever a = b; 34

18 Verilog - modelos comportamentais Estruturação em subrotinas task equivalente a um procedimento pode chamar-se a si próprio usando os mesmos registos locais function equivalente a uma função retorna um valor não pode conter instruções com temporizações ou eventos multiply(a,b,acc);... task multiply input [15:0] a, b; output [31:0] prod;... task if (testdf(d1,d2)==2 b00)... function [1:0] testdf; input [1:0] Duab, Dvab;... testdf=2 b01; function 35 Verilog - modelos comportamentais Atribuição procedimental a1=in0+in1-acc; y1=a1+b1; z1=y1+a1; Admitindo que in0=4,in1=4,acc=1 a1=4, b1=4, y1=8 a1 = = 7; y1 = 7+4 = 11; z1 = 11+7 = 18; Atribuição non-blocking a1<=in0+in1-acc; y1<=a1+b1; z1<=y1+a1; a1 = 7; y1 = 4+4 = 8; z1 = 8+4 = 12; 36

19 Verilog - modelos comportamentais Atribuição contínua modela um bloco de lógica combinacional assign #delay one_wire = expression, other_wire = expression; modelação de atrasos #delay #(d1,d2,d3) #(d1m:d1t:d1m, d2m:d2t:d2m, d3m:d3t:d3m) assign #5 sum= a^b^ci, cout = a & b a & ci b & ci; wire #delay one_wire = expression, other_wire = expression; wire [7:0] #10 sum = a + b; delay: atraso d1: atraso de 0-1 d2: atraso de 1-0 d3: atraso para HiZ mínimo típico máximo 37 Verilog - modelos comportamentais Módulos com parâmetros module my_multiply(...); parameter size=16, delay=5;... module my_multiply #(8,2) mult1(...); valores por omissão Tasks do sistema (para testbenches) $display(); imprime quando é invocado $monitor(); só um activo no modelo $time; tempo de simulação $finish; termina a simulação $stop; interrompe a simulação valores atribuídos à instância mult1 38

20 Construção de modelos sintetizáveis (em Verilog, para Synopsys FPGA Express) Atrasos são sempre ignorados o seu uso pode tornar incoerente a simulação e o comportamento do circuito Sinais do tiporeg nem sempre são traduzidos em registos podem ser traduzidos emwire, D-flip-flops ou latches transparentes Atribuição contínua (assign sum=a^b^cin;) traduzida para um bloco de lógica combinacional Operadores aritméticos e lógicos apenas para inteiros sem sinal, dimensão dos resultados depe dos operandos são gerados circuitos combinacionais que os implementam podem ou não ser partilhados para diferentes operações do mesmo tipo os operadores / e % só podem ser usados com operandos constantes (V FE3.6.1) 39 Construção de modelos sintetizáveis (em Verilog, para Synopsys FPGA Express) always - duas formas os sinais tipo reg são traduzidos para Dffs clock or negedge reset) if (!reset) acc = 8 b ; acc = data_in; reset assíncrono; tem de ser avaliado no primeiroif(...) or b or...): sinais do tiporeg são latches ou wires or sel) if (sel) out = a; out é uma latch or b or sel) if (sel) out = a; out = b; lista de sensibilidades pode ser omitida só para síntese out é uma função combinacional desel, a e b 40

21 Construção de modelos sintetizáveis (em Verilog, para Synopsys FPGA Express) inferência de latches em construçõesalways - regra geral latches são geradas para sinais do tiporeg que não sejam completamente especificados para todos os casos de instruções condicionais (por exemploif (sel) out = a; e quandosel==0? ) no caso contrário é apenas gerado um circuito combinacional sem elementos de memória latches são (geralmente) indesejáveis e fatais num circuito síncrono como podem afectar o funcionamento de um circuito síncrono?! ferramentas de síntese ignoram a lista de sensibilidades em construções do tipo enable or bus_a or bus_b) o simulador só avalia o bloco quando algum sinal muda de estado 41 Construção de modelos sintetizáveis (em Verilog, para Synopsys FPGA Express) inferência de buffers de 3-estados atribuindo z a um sinal (do tiporeg) module three_state(in, out, en); input in, en; output out; reg out; in or en) if (en) out = in; out = 1 bz; module assign out = en? in : 1 bz; 42

22 Construção de modelos sintetizáveis (em Verilog, para Synopsys FPGA Express) ciclos for(...): só são suportadas 4 formas: crescente ou decrescente de passo constante (...;index=index±step) condição de terminação com <, >, <= ou >= a or b or carry ) for(i=0;i<=31;i=i+1) s[i] = a[i]^b[i]^carry; carry = a[i]&b[i] a[i]&carry b[i]&carry; while (...): cria um ciclo combinacional; deve ser quebrado clock) posedge clock ) while clock); x=x+z; 43 Modelação de máquinas de estados FSM (Finite State Machine) sequência determinada de estados, síncrono com relógio estrutura geral entradas saída saída saídas (Moore) saídas (Mealy) saídas (Moore) reset (síncrono) clock reset (assíncrono) próximo estado registo de estado 44

23 Máquinas de estados - especificação Tabela de transição de estados Diagrama de transição de estados Ymo 0X/1 i1 i2/yme 0 00 XX/1 entradas estado próximo saídas i1 i2 corrente estado Yme Ymo 0 X 00 (S0) 00 (S0) X 00 (S0) 01 (S1) 0 0 X 1 01 (S1) 00 (S0) 0 1 X 0 01 (S1) 10 (S2) 1 1 X X 10 (S2) 00 (S0) 1 1 1X/0 X1/ X0/1 i1/yme saídas Mealy saídas Moore S0 Yme i1/yme i2/yme S2 Ymo S1 Ymo i2/yme 45 Máquinas de estados - modelação em Verilog Modelo incorrecto Ymo 0X/1 i1 i2/yme 0 00 XX/1 1X/0 X1/ Funciona? Quais são os erros? 1 X0/1 module FSM_mal(clock, i1, i2, Yme, Ymo); input clock, i1, i2; output Yme, Ymo; reg Yme, Ymo; reg [1:0] state; clock) case (state) 2 b00: Ymo=0; if (i1) state=2 b01; Yme=0; Yme=1; 2 b01: Ymo=1; if (i2) state=2 b00; Yme=0; state=2 b10; Yme=1; 2 b10: Ymo=1; state=2 b00; Yme=1; case module 46

24 Máquinas de estados - modelação em Verilog Modelo incorrecto Ymo 0X/1 i1 i2/yme 0 00 XX/1 1X/0 X1/ falta de reset (síncrono e/ou assíncrono) um só processo para próximo estado e saídas todas as saídas são registadas Yme não é saída Mealy não é definido o estado inicial falta o estado 2 b X0/1 module FSM_mal(clock, i1, i2, Yme, Ymo); input clock, i1, i2; output Yme, Ymo; reg Yme, Ymo; reg [1:0] state; clock) case (state) 2 b00: Ymo=0; if (i1) state=2 b01; Yme=0; Yme=1; 2 b01: Ymo=1; if (i2) state=2 b00; Yme=0; state=2 b10; Yme=1; 2 b10: Ymo=1; state=2 b00; Yme=1; case module 47 Máquinas de estados - modelação em Verilog Modelo correcto Ymo 0X/1 i1 i2/yme module FSM_bem(reset, clock, i1, i2, Yme, Ymo); input reset, clock, i1, i2; output Yme, Ymo; reg Yme, Ymo; reg [1:0] state, nextstate; clock) if (reset) state<=2 b00; state<=nextstate; 0 XX/1 1X/0 X1/ X0/1 or i1 or i2) case (state) 2 b00: nextstate=2 b00; Ymo=0; if (i1) nextstate=2 b01; Yme=0; Yme=1; 2 b01: Ymo=1; if (i2) nextstate=2 b00; Yme=0; nextstate=2 b10; Yme=1; 2 b10: Ymo=1; nextstate=2 b00; Yme=1; default: Ymo=0; nextstate=2 b00; Yme=1; case module 48

25 Máquinas de estados - modelação em Verilog Separação da lógica do próximo estado das saídas or i1 or i2) case (state) 2 b00: if (i1) nextstate=2 b01; nextstate=2 b00; 2 b01: if (i2) nextstate=2 b00; nextstate=2 b10; 2 b10: nextstate=2 b00; default: nextstate=2 b00; case module or i1 or i2) case (state) 2 b00: Ymo=0; if (i1) Yme=0; Yme=1; 2 b01: Ymo=1; if (i2) Yme=0; Yme=1; 2 b10: Ymo=1; Yme=1; default: Ymo=0; Yme=1; case module 49 Máquinas de estados - modelação em Verilog Combinando estado corrente e próximo estado clock or negedge reset) if (!reset) state <= 2 b00; case (state) 2 b00: if (i1) state<=2 b01; state<=2 b00; 2 b01: if (i2) state<=2 b00; state<=2 b10; 2 b10: state<=2 b00; default: state<=2 b00; case module modelando Ymo como saída síncrona: clock or negedge reset) if (!reset) Ymo<=0; state <= 2 b00; case (state) 2 b00: if (i1) Ymo<=1; state<=2 b01; Ymo<=0; state<=2 b00;... 50

26 Síntese do datapath S.D. - controlo e processamento de informação unidade de processamento (datapath) processamento e comunicação de dados registos, ALUs, outros operadores dedicados (FUs), barramentos controlo activa os elementos do datapath, define as operações a realizar FSMs, controladores microprogramados Control dominated sistemas onde predominam as estruturas de controlo controlador de microondas, semáforos, microprocessador,... Data flow dominated sistemas onde predomina o datapath, controlo reduzido aplicações de DSP, unidades de cálculo dedicadas 51 Sistemas Digitais síncronos Sistema síncrono simplicidade em separar o controlo do datapath todos os registos têm o mesmo sinal de relógio o datapath efectua operações de registo a registo transferências entre registos na transição de relógio em cada ciclo de relógio o controlador define: controlo FUs registos que registos são carregados agulhamento de barramentos e multiplexers operações a realizar pelas unidades funcionais mux R mux R mux mux mux + * / sqrt and or R 52

27 Datapath síncrono Lógica combinatória entre registos entrada assíncrona entrada síncrona saída assíncrona saída síncrona clock T delay1 T delay2 T delay3 frequência de relógio freq. clock < 1 / max(t delay1,t delay2,t delay3 ) controlo do datapath também condiciona o desempenho clock controlo datapath 53 Datapath síncrono todos os registos têm o mesmo relógio elevado fanout: necessário buffers para distribuir o relógio problemas clock skew: variação da fase do relógio em diferentes registos atrasos introduzidos pelas interligações, só conhecidos após routing circuitos dedicados para distribuir relógio (p.ex. em FPGAs) carregamento condicional de registos (abilitação ou enable) não usar gated clocks (depe da tecnologia de implementação) flip-flops com controlo clock enable síncrono necessário garantir tempos de hold e setup dos flip-flops tratamento de entradas assíncronas (p.ex. interrupções) análise de metaestabilidade sincronização com o relógio circuitos CMOS consomem energia (quase apenas) nas transições 54

28 Datapath síncrono - clock skew variação da fase do relógio em diferentes registos R1 R2 R1 R2 atraso 1 R1 a b c R2 x a b 1 R1 a b c R2 x b c atraso 55 Datapath síncrono - clock skew Motivado por assimetria do circuito de relógio características físicas das ligações (comprimento, RC) R1 R2 1 diferente fanout R1 R2 R3 R4 1 lógica combinatória no caminho do relógio R1 R2 ce 1 gated clock 56

29 Datapath síncrono - clock skew Em FPGAs as interligações programáveis introduzem atrasos importantes difícil (mas não impossível) equilibrar os atrasos de diferentes nets rede de interligações dedicadas para distribuir sinais de relógio também servem para outros sinais com elevado fanout exemplo: na família XC4000E (consultar o databook ) 4 buffers primários (BUFGP) e 4 buffers secundários (BUFGS) um par de buffers em cada canto do die (TL, TR, BL e BR) cada buffer pode alimentar as entradas de todos os FFs com skew mínimo não utilizar um desses buffers para distribuir o relógio é FATAL! no ambiente de síntese da XILINX (Foundation+Express) são identificados os sinais de relógio: sinais que alimentam entradas de FFs é alocado um buffer global (BUFGP ou BUFGS) para cada um não podem existir mais de 8 sinais de relógio diferentes 57 Datapath síncrono - gated clock Carregamento condicional de um registo solução errada: usar um AND para deixar ou não passar o clock ce R solução correcta clock enable síncrono ce 0 1 ce. flip-flops primitivos com controlo clock enable R ce ce. R1 a b? R1 é carregado duas vezes! Só funciona se ce ocorrer antes de. Como é possível garantir? Se ce é produzido por uma máquina de estados síncrona com, ce é mudado sempre após. Problema adicional: o atraso introduzido pela porta AND 58

30 Datapath síncrono - gated clock Solução (mais) segura para um gated clock controlo ce1 ce2 g1 g2 portas NAND com atrasos idênticos atrasos iguais de até cada NAND... e de cada NAND até aos buffers garante clock skew mínimo sinais ce gerados na unidade de controlo unidade de controlo síncrona com em FPGA requer routing cuidado ce g = ce. 59 Datapath síncrono - gated clock Outra solução segura: registar os sinais enable controlo en1 en2 D Q ens1 g1 ens2 g2 D Q en ens g 60

31 Síntese do datapath - pipelining datapath síncrono (não-pipelined vs. pipelined) não-pipelined: uma operação por ciclo de relógio: f oper/s T delay lógica combinatória reg in reg out di0 di1 di2 di3 di4 X do0 do1 do2 do3 do4 di reg in reg out do pipelined: partir o circuito lógico e inserir registos T delay Tp delay max lógica combinatória reg in reg0 reg1 reg out di0 di1 di2 di3 di4 X d0 d1 d2 d3 d4 X X d0 d1 d2 d3 X X X do0 do1 do2 di reg in reg0 reg1 reg out do Latência: 3 ciclos Tp delay max 61 Síntese do datapath - pipelining No circuito pipelined Tp delay max menor do que T delay Tp delay max é o maior atraso de uma partição do circuito combinatório define uma frequência de maior do que para o circuito combinatório 3xTp delay max maior do que T delay para além da lógica combinatória há atrasos introduzidos pelos registos um resultado demora 3 períodos de a aparecer na saída é consumido um dado e produzido um resultado em cada aumento de desempenho para sequências de operações iguais mas não compensa para realizar uma única operação. 62

32 Verificação do projecto Importância da verificação (multi-million gate ASICs) consome 70% do esforço do projecto N Engs para projecto RTL mas 2N para verificação os testbenches representam até 80% do volume total de código verificação está no caminho crítico de um projecto Reduzir o custo da verificação explorar paralelismo criar testbenches a níveis de abstracção elevados (>RTL) minimizar o factor humano (a fonte de erros!) automatização do processo introduzir redundância no processo (2 projectos indepentes) 63 Verificação funcional Testbench DUV Design Under Verification estímulos saídas processo para demonstrar a correcção funcional do modelo de um circuito a fabricar 64

33 Verificação - factor humano Codificação RTL Especificação Interpretação um projectista Modelo RTL Verificação Factor humano A verificação pode ser viciada por existir uma só interpretação 65 Verificação - redundância Interpretação A Codificação RTL Especificação Projectista A Projectista B Modelo RTL Interpretação B Verificação Codificação RTL e verificação realizadas por indivíduos diferentes 66

34 Prototipagem Verificação por prototipagem (DUV é hardware físico) como construir um protótipo de um ASIC? componentes off-the-shelf (os velhinhos 74xxx...) protótipo a que nível? funcional, RTL ou lógico? sistemas baseados em FPGAs (oferecem actualmente milhões de gates) o testbench é hardware (fontes de sinal, analisadores lógicos...) características eléctricas e dinâmicas são diferentes da tecnologia alvo o processo de validação tem conseguir absorver essas diferenças funcionamento em tempo real (ou quase) possibilita verificação com estímulos complexos de sistemas físicos disponíveis em tempo real, mas difíceis de modelar exemplo: sistemas de controlo de processos físicos 67 Simulação Verificação por simulação (DUV é um modelo informático) menor rapidez mas maior flexibilidade observar o estado de qualquer nó ou componente forçar sinais a estados desejados parar e reiniciar a simulação em qualquer estado controlar de forma precisa a temporização de eventos assíncronos verificação funcional realiza-se em diferentes estágios do projecto RTL, pós-síntese, pós-layout (verificação temporal) diferentes modelos de atrasos fornecidos nas bibliotecas que caracterizam a tecnologia alvo simulação de faltas construção de conjuntos eficientes de vectores para teste 68

35 Verificação formal Verificação da equivalência (equivalence checking) verifica que dois modelos são funcionalmente equivalentes compara dois netlists modificados automaticamente ou manualmente compara um modelo RTL com o netlist resultante compara dois modelos RTL pequenas alterações para melhorar o desempenho da síntese Verificação do modelo (model checking) verifica que o modelo satisfaz condições definidas na especificação exemplos: todos os estados de uma FSM são atingidos? não há estados isolados? um interface não entra em deadlock? 69 Verificação funcional Verifica a funcionalidade do projecto a tradução da especificação para o modelo RTL é manual especificações são descrições informais em linguagens naturais sujeita a interpretações incorrectas compara o modelo RTL com a especificação pode mostrar que o projecto satisfaz a especificação mas não o pode provar! Outros objectivos... verificar a indepência do estado inicial dos elementos de memória se é garantida insensibilidade a variações dos atrasos dos componentes se não há contenções, oscilações, entradas ilegais ou estado suspensos avaliar compromissos de custo e desempenho e de alterações ao projecto produzir documentação 70

36 Simulação - problemas Como se constróem estímulos? não há procedimentos formais para gerar estímulos processo heurístico, baseado na intuição e conhecimento do sistema não é praticável a verificação exaustiva um circuito com 75 entradas 2 75 testes (1.2x10 9 anos@1µs/teste) Como se sabe se os resultados são correctos? só verifica a funcionalidade exercitada pelos estímulos Estímulos para verificação e para teste verificação: detectar e diagnosticar erros de projecto não é possível enumerar todos os erros de projecto teste: detectar e diagnosticar defeitos de fabrico defeitos de fabrico (faltas) são modelados como erros lógicos 71 Simulador compiled code simulação compilada executa um modelo compilado do circuito o circuito é traduzido em instruções executáveis por um processador simulador oferece suporte para fornecer estímulos de simulação orientada para verificação funcional, não suporta análise temporal o comportamento de componentes é modelado por instruções máquina ou subrotinas adequado para simular o comportamento de sistemas síncronos exemplo (modelo estrutural): A B Y D Q Z F para cada transição de (código x86): MOV AL,A AND AL,B MOV Y,AL MOV AL,B AND AL,Y NOT AL MOV Z,AL MOV F,AL 72

37 Simulador event-driven simulação de eventos usa um modelo do circuito para gerar e propagar eventos eventos nas entradas primárias são produzidos pelos estímulos eventos nos restantes nós são propagados pela avaliação dos componentes um evento é uma mudança do estado de um sinal num tempo dado os componentes que usam esse sinal são activados e avaliados as mudanças resultantes das avaliações geram novos eventos outros eventos: controlo do simulador, monitorização de sinais em Verilog: $finish, $display(...), $monitor(...) permite processar estímulos e sinais assíncronos análise do comportamento com os atrasos dos componentes avaliação do funcionamento com eventos não sincronizados (interrupções) 73 Simulação event-driven - fluxograma todos os eventos produzidos pelos estímulos já foram introduzidos na lista até ao primeiro evento pente actualiza o valor dos sinais modificados pelos eventos deste tempo propaga o valor dos sinais activos até aos componentes que os usam e activa esses componentes a avaliação dos componentes activados produz novos eventos em tempo futuro (atrasos dos componentes) ou no mesmo tempo início avançar tempo de simulação extrair eventos para este tempo actualiza sinais activos propaga mudanças dos sinais avalia componentes activados introduz os novos eventos na lista não há eventos fim 74

38 Simulação - o valor lógico desconhecido Quando um circuito lógico é ligado, memórias e flip-flops ficam com valores lógicos não definidos é necessário prever um mecanismo de iniciação (reset) geralmente associado ao power-up iniciar os conteúdos de elementos de memória Valor lógico desconhecido: u representa o estado de sinais lógicos não iniciados resultantes de não iniciação de registos e memórias indefinição do estado de entradas primárias do circuito a simular é processado juntamente com os valores lógicos 0 e 1 operadores lógicos são generalizados para tratar o valor lógico u 75 Simulação - o valor lógico desconhecido Tabelas de verdade para AND, OR e NOT AND 0 1 u u u 0 u u OR 0 1 u u u u 1 u NOT 0 1 u 1 0 u Perda de informação propagando o valor lógico u u 0 1 u u u desconhecidos, mas sempre com valores contrários u é sempre 1! não, não é factorial... não serve usar u e u u Q u Q 1 Q u u Q desconhecido 76

39 Simulação - o valor lógico Z Modelação de buffers com saída tristate E Tabela de verdade: I I E 0 1 u 0 Z 0 {0,Z} 1 Z 1 {1,Z} u Z u {u,z} O se E=1, O=I se E=0, O=Z Tabela de verdade de um barramento com 2 entradas Um sinal com o nível lógico Z pode ser forçado com 1 ou 0 (pull-up ou pull-down) é sempre interpretado como u por uma entrada a b o a b 0 1 Z u 0 0 u 0 u 1 u 1 1 u Z 0 1 Z u u u u u u em que casos pode ocorrer contenção no barramento? 77 Simulação - modelos de atrasos atraso de transporte um atraso na propagação do nível lógico atrasos de subida e de descida diferentes atrasos para as transições 0-1 e 1-0 atrasos ambíguos mínimos e máximos para os atrasos 0-1 e 1-0 atraso inercial duração mínima de uma entrada para ser propagada para a saída setup time e hold time (em flip-flops) setup time: tempo mínimo para D estar estável antes de clock hold time: tempo mínimo para D permanecer estável após clock 78

Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores. (Informática Industrial)

Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores. (Informática Industrial) Projecto de Circuitos e Sistemas Digitais (MEEC1078) Mestrado em Engenharia Electrotécnica e de Computadores (Informática Industrial) Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia

Leia mais

Síntese do datapath. Sistemas Digitais síncronos

Síntese do datapath. Sistemas Digitais síncronos Síntese do datapath S.D. - e prossamento de informação unidade de prossamento (datapath) prossamento e comunicação de dados registos, ALUs, outros operadores dedicados (FUs), barramentos activa os elementos

Leia mais

Projecto de Sistemas Digitais (EEC4279)

Projecto de Sistemas Digitais (EEC4279) Projecto de Sistemas Digitais (EEC4279) Licenciatura em Engenharia Electrotécnica e de Computadores Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Electrotécnica e de Computadores

Leia mais

Síntese do datapath. S.D. - controlo e processamento de informação

Síntese do datapath. S.D. - controlo e processamento de informação 146 Síntese do datapath S.D. - controlo e processamento de informação unidade de processamento (datapath) processamento e comunicação de dados registos, ALUs, outros operadores dedicados (FUs), barramentos

Leia mais

Síntese do datapath. Sistemas Digitais síncronos

Síntese do datapath. Sistemas Digitais síncronos Síntese do datapath S.D. - e prossamento de informação unidade de prossamento (datapath) prossamento e comunicação de dados registos, ALUs, outros operadores dedicados (FUs), barramentos activa os elementos

Leia mais

Modelação de máquinas de estados

Modelação de máquinas de estados Modelação de máquinas de estados FSM (Finite State Machine) sequência determinada de estados, síncrono com relógio estrutura geral saídas (Moore) entradas saída saídas (Mealy) saída saídas (Moore) reset

Leia mais

Linguagens de descrição de hardware

Linguagens de descrição de hardware Linguagens de descrição de hardware Modelação de um circuito (digital) descrições comportamentais permitem nível elevado de abstracção metodologia de projecto top-down: ferramentas de síntese automática

Leia mais

Projecto de Sistemas Digitais - EEC0055 4º ano, 1º semestre /08

Projecto de Sistemas Digitais - EEC0055 4º ano, 1º semestre /08 Mestrado Integrado em Engenharia Electrotécnica e de Computadores FEUP Projecto de Sistemas Digitais - EEC0055 4º ano, 1º semestre - 2007/08 António José Duarte Araújo Projecto de Sistemas Digitais Fluxo

Leia mais

Testbench. modelo não sintetizável (testbench) circuito a fabricar. modelo sintetizável (vai ser um circuito digital) Verilog

Testbench. modelo não sintetizável (testbench) circuito a fabricar. modelo sintetizável (vai ser um circuito digital) Verilog Testbench modelo não sintetizável (testbench) clock reset memórias A/D e D/A interfaces ficheiros geração de estímulos circuito a fabricar análise de respostas registos de texto waveforms ficheiros simula

Leia mais

Linguagens de descrição de hardware. Modelação de um circuito (digital) com HDL. fluxo de projecto seguindo uma metodologia top-down

Linguagens de descrição de hardware. Modelação de um circuito (digital) com HDL. fluxo de projecto seguindo uma metodologia top-down Linguagens de descrição de hardware Modelação de um circuito (digital) com HDL fluxo de projecto seguindo uma metodologia top-down descrição em HDL, validação, síntese automática (RTL->lógico) descrições

Leia mais

Síntese do datapath. Sistemas Digitais síncronos

Síntese do datapath. Sistemas Digitais síncronos Síntese do datapath S.D. - controlo e processamento de informação unidade de processamento (datapath) processamento e comunicação de dados registos, ALUs, outros operadores dedicados (FUs), barramentos

Leia mais

Síntese de Sistemas Digitais

Síntese de Sistemas Digitais Síntese de Sistemas Digitais estrutural processadores, memórias registos, muxs portas lógicas transistores sistema RTL alto nível (behavioral) lógico dispositivo físico RTL níveis de abstracção lógica

Leia mais

Linguagens de descrição de hardware. Modelação de um circuito (digital)

Linguagens de descrição de hardware. Modelação de um circuito (digital) Linguagens de descrição de hardware Modelação de um circuito (digital) descrições comportamentais permitem nível elevado de abstracção metodologia top-down: ferramentas de síntese automática representação

Leia mais

Projecto de Sistemas Digitais

Projecto de Sistemas Digitais Projecto de Sistemas Digitais Tecnologias digitais cada vez mais importantes vastas áreas de aplicação evolução tecnológica muito rápida (lei de Moore) tamanho, consumo, rapidez custo continua a descer

Leia mais

Síntese de Alto Nível (behavioral synthesis)

Síntese de Alto Nível (behavioral synthesis) Síntese de Alto Nível (behavioral synthesis) descrição comportamental (algorítmica) estrutura RTL registos while (x

Leia mais

Circuitos combinatórios. (Revisão)

Circuitos combinatórios. (Revisão) Circuitos combinatórios (Revisão) João Canas Ferreira Arquitectura de Computadores FEUP/MIEIC Contém figuras de Computer Organization and Design, D. Patterson & J. Hennessey, 3 a ed., MKP Tópicos Modelação

Leia mais

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

Modelação de circuitos síncronos

Modelação de circuitos síncronos Modelação de circuitos síncronos Como se constrói um flip-flop tipo D? module ffd(, D, Q); input ; // sinal de relogio, activo na transição 0->1 input D; // entrada D output Q; // saída Q reg Q; // Q tem

Leia mais

Projecto de Sistemas Digitais

Projecto de Sistemas Digitais Projecto de Sistemas Digitais Linguagens de descrição de hardware -Verilog Setembro de 27 António José Duarte Araújo Linguagens de descrição de hardware HDL - Hardware Description Language HDL linguagem

Leia mais

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA) Sistemas Digitais Linguagem Verilog Monitoria SD 2011.2 Daniel Alexandro/Reniê Delgado/Vanessa Ogg Editado por (DARA) Introdução Verilog é uma linguagem, como VHDL, largamente usada para descrever sistemas

Leia mais

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5 PREFÁCIO 1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO 1 1.1 Bases de Numeração 3 1.1.1 Representação de Números Inteiros em Base b 3 1.1.2 Representação de Números em Base 2 5 1.1.3 Representação de Números Fraccionários

Leia mais

Introdução a Sistemas Digitais

Introdução a Sistemas Digitais Introdução a Sistemas Digitais Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados Sistemas Digitais Definição Um sistema digital é um sistema

Leia mais

Xilinx ISE. O projecto

Xilinx ISE. O projecto Xilinx ISE Demonstração do sistema de projecto Especificar um circuito digital em Verilog Simular o funcionamento do circuito Sintetizar o circuito Traduz o código Verilog para um circuito Simplifica o

Leia mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

Projecto de Sistemas Digitais (EEC0055) Projecto de Sistemas Digitais

Projecto de Sistemas Digitais (EEC0055) Projecto de Sistemas Digitais Projecto de Sistemas Digitais (EEC0055) Licenciatura em Engenharia Electrotécnica e de Computadores Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Electrotécnica e de Computadores

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Linguagem de Descrição de Hardware

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3.0 - Português Aula N o 22: Título: Sumário: Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Projecto de máquinas

Leia mais

Sistemas Digitais I LESI :: 2º ano. Introdução

Sistemas Digitais I LESI :: 2º ano. Introdução Sistemas Digitais I LESI :: 2º ano Introdução António Joaquim Esteves João Miguel Fernandes www.di.uminho.pt/~aje Bibliografia: capítulo 1, DDPP, Wakerly DEP. DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores.

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores. Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores Sistemas Digitais Exame de 2ª Época - 13 de Julho de 2001 Antes de começar

Leia mais

Síntese de Sistemas Digitais

Síntese de Sistemas Digitais Síntese de Sistemas Digitais estrutural processadores, memórias registos, muxs portas lógicas transistores sistema RTL alto nível (behavioral) lógico dispositivo físico RTL níveis de abstracção lógica

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 2.0 - Português Aula N o 23: Título: Sumário: Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de

Leia mais

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

PCS3225. Sistemas Digitais II. Biestáveis em VHDL. Biestáveis em VHDL. Marcos A. Simplicio Jr.

PCS3225. Sistemas Digitais II. Biestáveis em VHDL. Biestáveis em VHDL. Marcos A. Simplicio Jr. PCS3225 Sistemas Digitais II Biestáveis em VHDL Marcos A. Simplicio Jr. Slides baseados em material de Edson Midorikawa e Bruno Albertini PCS3225-2015 1 Tópicos VHDL: recapitulação Circuitos sequenciais

Leia mais

Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Abstração do Mundo Real A Maioria das pessoas quando utilizam um computador para jogar ou ver um filme, não sabe exatamente o que acontece dentro

Leia mais

Sistemas Digitais (SD)

Sistemas Digitais (SD) Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de Dados Entradas de controlo Saídas de controlo Unidade de controlo Palavra de controlo

Leia mais

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma

Leia mais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :

Leia mais

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Aula Anterior Na aula anterior: Memórias: Circuitos e tecnologias de memória: o RAM: Estática Dinâmica

Leia mais

Ciclo de Seminários Técnicos

Ciclo de Seminários Técnicos A Computação Reconfigurável no Desenvolvimento de um Sistema Digital Delano Oliveira (delano@dsc.ufcg.edu.br) DSC/CEEI/UFCG Agenda Motivação Objetivo Conceitos Fluxo de Projeto Considerações Finais 2 Motivação

Leia mais

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno Fundamentos de Sistemas Digitais Lógica Sequencial Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno 2 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até 7.4, 9, 10. Não tem

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 2.0 - Português Aula N o 17: Título: Sumário: Síntese de Circuitos Sequenciais: Definições Definição de circuito sequencial síncrono; Máquinas

Leia mais

Sistemas Digitais (SD)

Sistemas Digitais (SD) Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de Dados Entradas de controlo Saídas de controlo Unidade de controlo Palavra de controlo

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Máquinas de Estado Microprogramadas: Endereçamento Expĺıcito/Impĺıcito Projecto de máquinas

Leia mais

Projecto de Sistemas Digitais

Projecto de Sistemas Digitais Departamento de Engenharia Electrotécnica e de Computadores Duração máxima: 60 minutos, sem consulta. Projecto de Sistemas Digitais 4º ano - 1º semestre 2º miniteste 17 de Dezembro 2007 NOME: [5 valores]

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento

Leia mais

O Mundo Real é Analógico ou Digital?

O Mundo Real é Analógico ou Digital? Analógico / Digital O Mundo Real é Analógico ou Digital? O que define uma grandeza analógica? Os sinais analógicos podem tomar qualquer valor num intervalo contínuo de tensão, corrente, resistência ou

Leia mais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :

Leia mais

Circuitos Seqüenciais

Circuitos Seqüenciais ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Circuitos Seqüenciais Alexandre Amory Edson Moreno Nas Aulas Anteriores 2 A algumas aulas: Arquitetura da Cleo A duas aulas: Como descrever a parte operativa da

Leia mais

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Verilog HDL Descrição algorítmica Prof. Rodrigo de Paula Rodrigues Descrição algorítmica A B RTL E Representação Intermediária Circuito

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 2.0 - Português Aula N o 18: Título: Sumário: Síntese de Circuitos Sequenciais: Minimização do Número de Estados Especificação e projecto

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3. - Português Aula N o 7: Título: Sumário: Contadores Contadores síncronos (contadores de módulo 2n, projecto de contadores, frequência máxima

Leia mais

Representação de Informação. 1. Converta cada um dos seguintes números para o seu equivalente decimal: a)

Representação de Informação. 1. Converta cada um dos seguintes números para o seu equivalente decimal: a) SISTEMAS DIGITAIS Caderno de Exercícios Representação de Informação 1. Converta cada um dos seguintes números para o seu equivalente decimal: a) b) i) 1101110.101 2 ii) 0.00101 2 iii) 1011010.1010 2 i)

Leia mais

VERILOG. Alex Vidigal Bastos

VERILOG. Alex Vidigal Bastos VERILOG Alex Vidigal Bastos Sumário Objetivos Introdução Hierarquia Estruturas de Modelagem Objetivos Identificar os modelos de componentes do Verilog, incluindo módulos, instâncias e portas; Correta sintaxe

Leia mais

Circuitos Seqüenciais

Circuitos Seqüenciais ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Circuitos Seqüenciais prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 13 Sistemas Digitais Definição funcional: Aparato dotado de conjuntos

Leia mais

Circuitos sequenciais

Circuitos sequenciais Circuitos sequenciais Saídas dependem da sequência das entradas não basta uma tabela de verdade! Exemplo: controlo do nível de água num tanque: entrada de água electro-válvula ABRE sistema digital de controlo

Leia mais

Projecto Low-Power Importância

Projecto Low-Power Importância Projecto Low-Power Importância redução de custos (package, fonte alimentação, ventilação,...) poupança de energia (protecção ambiental) autonomia de equipamentos portáteis (telemóveis, GPS, PDAs,...) tecnologia

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 4-T 2. Máquinas Sequenciais Síncronas. Modelos de Moore

Leia mais

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições Aula Anterior Na aula anterior: Contadores síncronos Contadores de módulo 2 n Projecto de contadores Frequência máxima de funcionamento

Leia mais

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Eletrônica Digital para Instrumentação. Herman Lima Jr. G03 Eletrônica Digital para Instrumentação Prof: hlima@cbpf.br Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) Parâmetros de circuitos integrados lógicos Dispositivos

Leia mais

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL VHDL Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia

Leia mais

FCA - Editora de Informática xv

FCA - Editora de Informática xv Índice Geral Agradecimentos ix Prefácio xi Índice das Simulações xxv 1 - Introdução ao mundo dos computadores 1 1.1 O computador como ferramenta... 2 1.2 A importância dos computadores... 4 1.3 Processamento

Leia mais

Parte # 2 - Circuitos Combinatórios

Parte # 2 - Circuitos Combinatórios CEFET Departamento de Engenharia Elétrica - DEPEL GELE 7163 Eletrônica Digital Parte # 2 - Circuitos Combinatórios 1 GELE 7163 Eletrônica Digital 2 Referências : Notas de Aula. Mendonça, Alexandre e Zelenovsky,

Leia mais

Projecto de Sistemas Digitais (EEC4279)

Projecto de Sistemas Digitais (EEC4279) Projecto de Sistemas Digitais (EEC4279) Licenciatura em Engenharia Electrotécnica e de Computadores Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Electrotécnica e de Computadores

Leia mais

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma Aula Anterior Na aula anterior: Projecto de máquinas de estados microprogramadas: Circuito de dados Circuito de controlo Implementação

Leia mais

Divisão de Engenharia Eletrônica Laboratório de ELE-20

Divisão de Engenharia Eletrônica Laboratório de ELE-20 Versão original: Prof. Duarte Lopes de Oliveira Versão digital : TCel. Fábio Durante Prof. de Laboratório: Prof. Giovanni Fernandes Amaral Sala 183 IEEA gfamaral@ita.br Divisão de Engenharia Eletrônica

Leia mais

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Verilog HL Inferência de elementos de memória Prof. Rodrigo de Paula Rodrigues Inferência de elementos de memória Forma direta J

Leia mais

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29 Índice Geral Agradecimentos... vii Prefácio... ix Índice Geral... xiii Índice das Simulações... xxiii Índice das Figuras... xxvii Índice das Tabelas... xli Índice dos Programas... li 1 - Introdução ao

Leia mais

Dispositivos de Lógica Programável

Dispositivos de Lógica Programável Dispositivos de Lógica Programável Evolução Válvula no início de 1940 Transistor em 1947 Não aquece como as válvulas Fisicamente menor 1961 primeiro integrado TTL 74LSXX Década de 1970 surge SPLD Simple

Leia mais

Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia Elétrica. Eletrônica Digital. Plano de Ensino 2015_2

Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia Elétrica. Eletrônica Digital. Plano de Ensino 2015_2 Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia Elétrica Eletrônica Digital Plano de Ensino 2015_2 Prof. Ivan Sebastião de Souza e Silva www.ufpa.br/ivan ivan@ufpa.br Eletrônica

Leia mais

O Mundo Real é Analógico ou Digital?

O Mundo Real é Analógico ou Digital? Analógico / Digital O Mundo Real é Analógico ou Digital? O que define uma grandeza analógica? Os sinais analógicos podem tomar qualquer valor num intervalo contínuo de tensão, corrente, resistência ou

Leia mais

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro Realização de módulo somador-subtractor. Utilização de ambiente Xilinx WebPack de edição de esquemáticos e simulação. Realização

Leia mais

Eletrônica Digital. Circuitos Lógicos Sequenciais PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

Eletrônica Digital. Circuitos Lógicos Sequenciais PROF. EDUARDO G. BERTOGNA UTFPR / DAELN Eletrônica Digital Circuitos Lógicos Sequenciais PROF. EDUARDO G. BERTOGNA UTFPR / DAELN Circuitos Sequenciais vs Combinacionais Os circuitos lógicos combinacionais são aqueles em que suas saídas a qualquer

Leia mais

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 1 - Introdução

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 1 - Introdução Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática (II-PUCRS) Grupo de Apoio ao Projeto de Hardware - GAPH Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais - Introdução

Leia mais

VHDL Circuitos Combinacionais

VHDL Circuitos Combinacionais VHDL Circuitos Combinacionais Neste módulo será feita uma revisão de circuitos combinacionais introduzindose alternativas representações em VHDL Uma descrição VHDL, de forma geral, pode seguir uma das

Leia mais

1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog.

1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog. 1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog. 2. Material utilizado: Ambiente Eclipse 3. Introdução: 3.1

Leia mais

Introdução aos circuitos integrados de aplicação específica

Introdução aos circuitos integrados de aplicação específica Introdução aos circuitos integrados de aplicação específica João Canas Ferreira 2007-09-17 Tópicos de Projecto de VLSI digital Assuntos Tópicos 1 2 Circuitos programáveis 3 Fluxo de projecto Contém figuras

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3.0 - Português Aula N o 12: Título: Sumário: Linguagens de Descrição e Simulação de Circuitos Digitais (apoio ao laboratório) Linguagens

Leia mais

FPGA - Field Programmable Gate Array

FPGA - Field Programmable Gate Array FPGA - Field Programmable Gate Array 1985/86: Xilinx introduz nova família de PLDs FPGA - Field Programmable Gate Array agregados regulares de blocos lógicos configuráveis (CLB para XILINX) ligações programáveis

Leia mais

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13)

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13) Exame Sistemas Digitais - MEEC 2/. [2 val] Considere a seguinte função booleana: f (x 3,x 2,x,x ) = Π M (,4,8,9,,5). Π M d (2,3) Obtenha a expressão mínima na forma conjuntiva (produto de somas) para esta

Leia mais

Sistemas Digitais (SD) Contadores

Sistemas Digitais (SD) Contadores Sistemas Digitais (SD) Contadores Aula Anterior Na aula anterior: Registos Registos simples Banco de registos Registos de deslocamento Registos multimodo 2 Planeamento SEMANA TEÓRICA TEÓRICA 2 PROBLEMAS/LABORATÓRIO

Leia mais

Aula Fev-07 Arquitectura de Computadores 2006/07

Aula Fev-07 Arquitectura de Computadores 2006/07 Apresentação Aula 1 26-Fev-07 Arquitectura de Computadores 2006/07 1 - Aula 1 Estrutura desta aula Apresentação da cadeira Objectivos Bibliografia Conhecimentos prévios Estrutura das aulas Avaliação 26-Fev-07

Leia mais

Introdução aos Circuitos Integrados de Aplicação Específica

Introdução aos Circuitos Integrados de Aplicação Específica Introdução aos Circuitos Integrados de Aplicação Específica João Canas Ferreira Projecto de Circuitos VLSI FEUP/LEEC Contém figuras de Application-Specific Integrated Circuits, Michael J. S. Smith, Addison-Wesley

Leia mais

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba Introdução ao VHDL Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Original por Ayman Wahba VHDL É uma linguaguem de descrição de hardware, ou seja, uma forma estruturada para a descrição de circuitos

Leia mais

Circuito de dados e circuito de controlo

Circuito de dados e circuito de controlo Circuito de dados e circuito de controlo Considerações iniciais Exemplo 2 1 As metodologias estudadas até agora permitem projectar circuitos digitais combinatórios e digitais de pequena complexidade. Estas

Leia mais

Exame de 1ª Época - 23 de Janeiro de Antes de começar o exame leia atentamente esta folha de rosto

Exame de 1ª Época - 23 de Janeiro de Antes de começar o exame leia atentamente esta folha de rosto Instituto Superior Técnico Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia Electrotécnica e de Computadores Licenciatura em Ciências Informáticas 6LVWHPDV'LJLWDLV Exame de 1ª Época

Leia mais

Módulo 4 Introdução ao VHDL

Módulo 4 Introdução ao VHDL 1 Módulo 4 Introdução ao VHDL Conceitos básicos do VHDL Modelação, Simulação e Síntese de Sistemas Digitais entity declara o interface de um componente; architecture descreve a realização de um componente;

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais 23/abril/2019 Introdução à Linguagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1 Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar

Leia mais

Antes de começar o exame leia atentamente esta folha de rosto

Antes de começar o exame leia atentamente esta folha de rosto Instituto Superior Técnico Licenciatura em Ciências Informáticas Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia Electrotécnica e de Computadores Sistemas Digitais Exame de 2ª

Leia mais

Computadores dedicados

Computadores dedicados Computadores dedicados CPU processador de usos gerais produção em larga escala, baixo custo ASIP processador para uma área de aplicação desenvolvimento ASIC circuito dedicado para uma aplicação circuito

Leia mais

FSM de Mealy. Exemplo:

FSM de Mealy. Exemplo: Exemplo: FSM de Mealy o mesmo circuito anterior (detector de 1011) assunção: o valor de X muda logo após o a saída Y depende do estado actual e da entrada X INI INI S1 S1 S2 S3 S1 S1 S2 INI S1 S2 S3 X

Leia mais

Sistemas Digitais (SD) Lógica Programável

Sistemas Digitais (SD) Lógica Programável Sistemas Digitais (SD) Lógica Programável Aula Anterior Na aula anterior: Circuitos de controlo, transferência e processamento de dados Exemplo de uma arquitectura simples de um processador Prof. Nuno

Leia mais

Sistemas Digitais (SD)

Sistemas Digitais (SD) Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Minimização do Número de Estados S1 S2 S3 S4 S5 S6 S1-S3 S2-S4 S1-S5 S3-S5 S2-S6 S4-S6 S0 S1 S2 S3 S4 S5 Aula Anterior Na aula anterior: Definição

Leia mais

Projecto de Sistemas Digitais (EEC4279)

Projecto de Sistemas Digitais (EEC4279) Projecto de Sistemas Digitais (EEC4279) Licenciatura em Engenharia Electrotécnica e de Computadores 5º ano, 1º semestre José Carlos Alves (jca@fe.up.pt) António José Araújo (aja@fe.up.pt) http://www.fe.up.pt/~aja/psd2005_06

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR 52wz1h@bol.com.br UBERABA MG 2º SEMESTRE 2008 CONTEÚDO PROGRAMADO: 1 Flip-Flop J-K 2 Flip-Flop D 3 Latch D 4 Entradas assíncronas 5 Características

Leia mais