VHDL significa muito alta-velocidade circuito integrado de linguagem de descrição de hardware. É uma linguagem de programação usada para modelar um sistema digital por dataflow, estilo comportamental e estrutural de modelagem. Esta linguagem foi introduzida pela primeira vez em 1981 para o departamento de Defesa (DoD) sob o programa VHSIC.
descrevendo um projeto
em VHDL uma entidade é usada para descrever um módulo de hardware. Uma entidade pode ser descrito por meio de,
- Entidade de declaração
- Arquitetura
- Configuração
- Pacote de declaração
- Pacote de corpo
Vamos ver quais são?
Declaração de entidade
define os nomes, sinais de saída de entrada e modos de um módulo de hardware.
sintaxe−
entity entity_name is Port declaration;end entity_name;
uma declaração de entidade deve começar por “entidade” e terminar com palavras-chave “fim”. A direção será entrada, saída ou entrada.
Em | Porta pode ser lido |
Fora | Porta pode ser escrito |
Inout | Porta pode ser de leitura e escrita |
Buffer | Porta pode ser de leitura e escrita, ele pode ter apenas uma fonte. |
Arquitetura-
arquitetura pode ser descrita usando Estilo estrutural, dataflow, comportamental ou misto.
sintaxe−
architecture architecture_name of entity_name architecture_declarative_part;begin Statements;end architecture_name;
aqui, devemos especificar o nome da entidade para a qual estamos escrevendo o corpo de arquitetura. As declarações de arquitetura devem estar dentro da palavra-chave “begin” e “énd”. A parte declarativa da arquitetura pode conter variáveis, constantes ou declaração de componentes.
Data Flow Modeling
In this modeling style, the flow of data through the entity is expressed using concurrent (parallel) signal. As afirmações simultâneas em VHDL São quando e gerar.
além deles, atribuições usando apenas operadores (e, não, +,*, sll, etc.) também pode ser usado para construir código.
finalmente, um tipo especial de atribuição, chamado bloco, também pode ser empregado neste tipo de código.
No código simultâneo, pode ser utilizado o seguinte−
- os Operadores
- QUANDO A instrução (QUANDO/PESSOA ou COM/SELECT/QUANDO);
- A GERAR a declaração;
- O BLOCO de instrução
Comportamental Modelagem
neste estilo de modelagem, o comportamento de uma entidade como o conjunto de instruções é executado sequencialmente na ordem especificada. Apenas afirmações colocadas dentro de um processo, função ou procedimento são sequenciais.
processos, funções e procedimentos são as únicas seções do código que são executadas sequencialmente.
no entanto, como um todo, qualquer um destes blocos ainda é concorrente com quaisquer outras afirmações colocadas fora dele.
um aspecto importante do código de comportamento é que ele não está limitado à lógica sequencial. De fato, com ele, podemos construir circuitos sequenciais, bem como circuitos combinacionais.
as declarações de comportamento São se, espere, CASE, e LOOP. Variáveis também são restritas e devem ser usadas apenas em código sequencial. Variável nunca pode ser global, então seu valor não pode ser transmitido diretamente.
Modelagem Estrutural
nesta modelagem, uma entidade é descrita como um conjunto de componentes interligados. Uma declaração de instanciação componente é uma declaração concorrente. Por conseguinte, a ordem destas declarações não é importante. O estilo estrutural de modelagem descreve apenas uma interconexão de componentes (vistos como caixas negras), sem implicar qualquer comportamento dos próprios componentes nem da entidade que eles representam coletivamente.
na modelagem estrutural, o corpo da arquitetura é composto por duas partes-a parte declarativa (antes do início da palavra-chave) e a parte da declaração (depois do início da palavra-chave).
Lógica de Operação E PORTÃO
X | Y | Z |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
formas de onda
Operação Lógica – OU Portão
X | Y | Z |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
formas de onda
Operação Lógica – NÃO Porta
X | Y |
---|---|
0 | 1 |
1 | 0 |
formas de onda
Lógica de Operação – Porta NAND
X | Y | z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
formas de onda
Operação Lógica – NEM Porta
X | Y | z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
formas de onda
Lógica de Operação – Porta XOR
X | Y | Z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
formas de onda
Lógica de Operação – X-NEM Gate