A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

VERILOG HDL Instruções de Laço Repeat While For

Apresentações semelhantes


Apresentação em tema: "VERILOG HDL Instruções de Laço Repeat While For"— Transcrição da apresentação:

1 VERILOG HDL Instruções de Laço Repeat While For
O laço Repeat não é usado para síntese de circuitos O laço While é usado para síntese de circuitos sequenciais O laço For é usado para síntese de circuitos combinacionais

2 VERILOG HDL Instruções de Laço O Laço for Sintaxe:
for (<índice =valor inicial>; <índice == valor final>; <incremento/decremento do índice>); < > >= <= expressões de comparação O laço For é usado para síntese de circuitos combinacionais

3 VERILOG HDL Exemplo da construção FOR LOOP:
Descrever em VERILOG um circuito para determinar a ordem do bit ‘1’ de mais alta significância em um vetor de entrada de 8 bits. Solução: ordem_bit B A 8 bits 3 bits

4 VERILOG HDL Solução: module ordem_bit (output reg [2:0]B,
input [7:0] A); integer i; begin B = 0; for (i = 0; i <= 7; i = i+1) if (A[i]==1) B = i; end endmodule i, índice do for (variável não é sintetizada)

5 VERILOG HDL Simulação:

6 VERILOG HDL Exemplo 2: Dê uma especificação de alto nível de um sistema combinacional que computa a distância entre dois 1’s no vetor de bits de entrada (8 bits). Suponha que o vetor tenha exatamente dois 1’s. Por exemplo se x = (1,0,1,0,0,0,0,0) então a distância é 2.

7 VERILOG HDL module distancia_bit (output reg [2:0] B, input [7:0] A);
integer i; reg [2:0] j,k; begin B=0; k=0; j=0; for (i = 0; i <= 7; i = i+1) if (A[i]==1) j = i; // bit de maior ordem for (i = 7; i >= 0; i = i-1) k = i; // bit de menor ordem B = j - k; // cálculo da diferença na ordem dos bits end endmodule

8 VERILOG HDL Simulação: module distancia_bit (output reg [2:0] B,
input [7:0] A); integer i; reg [2:0] j,k; begin B=0; k=0; j=0; for (i = 0; i <= 7; i = i+1) if (A[i]==1) j = i; // bit de maior ordem for (i = 7; i >= 0; i = i-1) k = i; // bit de menor ordem B = j - k; // cálculo da diferença na ordem dos bits end endmodule Simulação:

9 VERILOG HDL Exercício: Um sistema combinacional tem uma entrada x, a qual representa um dígito decimal. A saída z é o quadrado de x se x for maior do que 4; caso contrário, a saída z é duas vezes x. Dê uma descrição Verilog do sistema

10 VERILOG HDL Solução: module exercicio1 (output reg [6:0]z,
input [3:0] x); begin if (x > 4) z = x*x; else z = 2*x; end endmodule

11 VERILOG HDL Simulação:

12 VERILOG HDL Simulação: 12.8 ns (tap)
tap -> tempo de atraso de propagação

13 VERILOG HDL Simulação: 21.0ns (tap)
tap -> tempo de atraso de propagação Simulação:


Carregar ppt "VERILOG HDL Instruções de Laço Repeat While For"

Apresentações semelhantes


Anúncios Google