Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAugusto Recio Alterado mais de 10 anos atrás
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:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.