Hardware Description Language
Aula 1
Prof. Afonso Ferreira Miguel, MSc
Digital System Design
Requirements
Functional Design
Behavioral Simulation
Register Transfer Level Design
RTL Simulation
Logic Design
Logic Simulation
Circuit Design
Timing Simulation/Circuit Analysis
Physical Design
Description for Manufacture
Design Rule Checking
Digital System Design
Modelo de negócio: Retorno x Tempo
Digital Logic Circuit Definitions
•
•
•
•
MOS: metal-oxide-silicon (primeira tecnologia);
TTL: transistor–transistor logic;
CMOS: complementary MOS;
Gates: unidade de medida de densidade de CIs (twoinput NAND gate/ four CMOS transistors);
• SSI, MSI, LSI, VLSI: Small, Medium, Large, Veri Large
Scale Integration (de portas TTL/CMOS até processadores
64 bits);
• ULSI: Ultra Large Scale Integration;
Digital Logic Circuit Definitions
• ASIC (“a-sick”) application-specific integrated
circuit:different types of ICs  different types of
applications; (sometimes called ASSPs)
• not ASICs: memory chips ROMs, DRAM, and SRAM;
microprocessors; TTL or TTL-equivalent ICs at SSI, MSI, and
LSI levels;
• are ASICs: a chip for a toy bear that talks; a chip for a satellite;
a chip designed to handle the interface between memory and a
microprocessor for a workstation CPU; and a chip containing a
microprocessor as a cell together with other logic.
“If you can find it in a data book, then it is probably
not an ASIC, but there are some exceptions.”
Digital Logic Circuit Definitions
• PLD: Programmable logic devices
PLD
HCPLD
SPLD
High Capacity PLD
Simple PLD
PLA
PAL
Programmable Array Logic
CPLD
Complex PLD
FPGA
Field Programmable Gate Array
Digital Logic Circuit Definitions
• PLD > SPLD
– ROM, PROM, EPROM, EEPROM
Digital Logic Circuit Definitions
• PLD > SPLD > PLA (programmable-logic-array):
may be configure or programmed to create a part
customized to a specific application
Gera funções do tipo SDP – Soma de Produto
Digital Logic Circuit Definitions
Digital Logic Circuit Definitions
• PLD > SPLD > PAL
(programmable-array-logic)
• Também gera funções na
forma SDP;
• Tecnologia + barata que a
PLA, pois são programados
apenas as colunas (termos
de produto);
Digital Logic Circuit Definitions
• Tecnologia para interconexão lógica
–
–
–
–
–
–
–
MASC;
Fuse;
Anti-fuse;
open gate (UV-EPROM);
EEPROM;
FLASH;
SRAM.
Digital Logic Circuit Definitions
• PLD > HCPLD > CPLD: Complex PLD (multiple
interconnected SPLDs).
Digital Logic Circuit Definitions
• PLD > HCPLD > FPGA: Field programmable
gate array
Logic Block
I/O Block
Interconnect
Digital Logic Circuit Definitions
• PLD > HCPLD > FPGA: Field programmable
gate array
Digital Logic Circuit
Implementation options
• Componentes SSI, MSI, LSI
– Custo elevado devido ao grande número de
peças;
– Tempo de primeira falha muito pequeno.
• Full-custom VLSI devices (ASIC);
• FPGAs.
Digital Logic Circuit
Implementation
• ASIC vs. FPGA
– ASIC
•
•
•
•
+ Lower cost per function for high volume
+ Better functional fit
- Design Time
- Nonrecurring engineering cost
– FPGA
•
•
•
•
+ Short design cycle
+ Lower cost per function at low volume
- Area penalty
- Slower performance
Digital Logic Circuit
Implementation
• ASIC vs. FPGA
Nonrecurring engineering cost
FPGA
ASIC
Volume
• Less expensive at low
volume
Digital Logic Circuit
Implementation
FPGA Applications
–
–
–
–
–
–
Glue Logic (replace SSI and MSI parts);
Prototype design;
Dynamic reconfiguration (ISP);
Rapid turnaround;
Emulation;
Custom computing.
HDL - Introdução
• O mundo antes das HDLs
HDL - Introdução
• Tradicional x HDLs
Conversão manual
da
descrição do projeto
HDL - Introdução
• HDL - benefícios
• Aplicado a vários níveis de abstração
(Interoperability);
• Reutilização de código;
• Independente de tecnologia
- Application-specific Integrated Circuits (ASICs);
- Simple Programmable Logic Devices (SPLDs);
- Complex PLDs (CPLDs);
- Field-Programmable Gate Arrays (FPGAs).
HDL - Linguagens
• As HDLs mais conhecidas
–
–
–
–
–
–
VHDL
Verilog HDL
AHDL
Abel HDL
PHDL
Handel-C (http://www.celoxica.com)
HDL - Ferramentas
• 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
AHDL – Design Tools
Exclusivamente
MAXPLUS II
QUARTUS II
AHDL
• Modularização
AHDL
• Assinatura (Subdesignd Section)
AHDL
• Assinatura (Subdesignd Section)
AHDL
• Implementado funções lógicas
AHDL
• Pontos intermediários (NÓS)
AHDL
• Exercício 1
Implementar e simular um Semi-Somador e um
Somador-Completo no ambiente Quartus II.
Lembrando...
•Semi somador:
S = A XOR B
C = A AND B
•Somador Completo
S = (A XOR B) XOR Cin
Cout = ((A XOR B) AND Cin) OR (A AND B)
AHDL
• Criando o símbolo de um projeto
Tools > Create Symbol Files for Entities in Current File
AHDL
• Truth Table
A
0
0
1
1
B
0
1
0
1
S
0
1
1
0
C
0
0
0
1
AHDL
•
Exercício 2
–
–
–
Modificar o Somador-Completo para utilizar Truth
Table;
Criar o símbolo deste módulo;
Criar um Block Diagram (chamado de SOMA) e
incluir um Semi-Somador e dois SomadoresCompletos para implementar a função de soma de 3
bits:
–
–
–
entradas: A2,A1,A0 e B2,B1,B0;
saídas: Cout, S2,S1,S0.
Compilar e simular o circuito final;
AHDL
•
Incluindo módulos em um
arquivo AHDL
1) Abrir arquivo SemiSomador;
2) Tools > Create AHDL Include Files
for Entities in Current File;
3) Repetir para o arquivo
SomadorCompleto;
4) Incluir no arquivo destino a diretiva
“include “nome_do_arquivo.inc”;
5) Adicionar módulos importados na
seção Variable.
AHDL
• Array
– Entradas e saídas podem ser vetores
– Módulos podem ser vetores também
AHDL
• Array
– As atribuições devem
ser com índice
AHDL
• Operação com vetores
– Vetores podem ser operados entre vetores do mesmo
tamanho...
– ou com um bit.
AHDL
• Concatenando bits em vetores
– Os parênteses podem ser utilizados para concatenar
vetores
AHDL
• Exercício 3
Implementar e simular um circuito que multiplique dois
valores de 4 bits (A[3..0] e B[3..0]) gerando um
resultado de 8 bits (S[7..0]).
Lembrando...
Descargar

Aula 2: HDL + AHDL