Hardware Description Language Aula 4 – AHDL (conclusão) VHDL (introdução) Prof. Afonso Ferreira Miguel, MSc AHDL • Registradores AHDL • Registradores Bidirecionais TRI_STATE_NODE AHDL • Máquinas de estado de MOORE 1 e1/1 e0/0 0 0 1 1 0 0 e2/2 e3/3 1 Clique aqui para pegar o código fonte AHDL • Exercício 10 – Implementar uma máquina de estado de MOORE com 4 bits de entrada (+ o clock) e 1 bit de saída. O bit de saída inicialmente deve apresentar o valor ZERO, e deve ir para UM quando receber na entrada o valor 15. Caso ele receba a seqüência 7, 4, 3 a máquina deve voltar ao seu estado inicial ZERO. AHDL • Máquinas de estado de MEALY Oops! 0/0 1/0 e1 e0 0/0 1/0 1/1 0/0 e2 AHDL • MOORE x MEALY AHDL • Exercício 11 – Modificar o exercício 10 para convertê-lo em uma máquina de MEALY. Avaliar o comportamento assíncrono da entrada e saída. 8051 OpenCore processador AHDL • 8051 - OpenCore VHDL Prof. Afonso Ferreira Miguel, MSc VHDL - Introdução • USA DoD VHSIC Program – VHSIC = Very Hight Speed Integrated Circuit • VHDL = VHSIC Hardware Description Language – 1ª Versão 1985; – Padronizado pelo IEEE – ASICS VHDL – Design Tools • Algumas ferramentas para HDL (síntese e simulação) – – – – – – – – – MAXPLUS II QUARTUS Verilog Mode Cypress Warp Silos Verilog HDL Active-HDL Model-Sim Synopsys Fusion/ViewSim Entity x Architecture Descreve os pinos de entrada e saída Descreve o comportamento do circuito Tipos básicos bit ‘0’ ou ‘1’ std_logic ‘0’, ‘1’, ‘U’, ‘X’, ‘Z’, ‘-’ bit_vector “00..00”, “00..01”, “00..10”, ... std_logic_vector “00..00”, “00..01”, “00..10”, ... Entity - Exemplos Entity - Exemplos Bibliotecas padrões Architecture Atribuição CSA Concurrent Signal Assign Opcional em algumas ferramentas Exemplo de código VHDL Biblioteca Entity Architecture • Exercício 1 Implementar e simular um Semi-Somador e um SomadorCompleto em VHDL. – Criar o símbolo deste módulo; – Criar um Block Diagram (chamado de SOMA) e incluir um Semi-Somador e dois Somadores-Completos para implementar a função de soma de 3 bits: – entradas: A2,A1,A0Lembrando... e B2,B1,B0; – saídas: Cout, S2,S1,S0. •Semi somador: = A XOR B – Compilar e simular o circuitoSCfinal = A AND B •Somador Completo S = (A XOR B) XOR Cin Cout = ((A XOR B) AND Cin) OR (A AND B) Eventos Eventos Nós Nós • Exercício 2 Modificar o exercício 1 para utilizar signal no somador completo. Atribuição Condicional Atribuição por seleção • Exercício 3 Implementar em VHDL um multiplexador de 4 canais por 4 bits com controle de habilitação. Se não estiver habilitado, a saída deve ficar com o valor “F”. Concatenando Concatenando Resolução Não funciona no Quartus!