Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Verilog

Verilog - Em uma casca de noz


Todo o código comportamental é escrito dentro de module e endmodule . Portanto, seja qual for o design digital que você pretende criar, ele ficará dentro de um module quadra. Pode ou não ter portas definidas - permite que os sinais entrem no bloco como input ou escape do bloco como output .

Módulo


O módulo vazio no exemplo abaixo é chamado de testbench . Você pode nomeá-lo como quiser, exceto que deve ser alfanumérico e pode conter '_'.
  
  
module testbench;

endmodule

  

Vejamos outro módulo. Tem alguns sinais (d, clk, rstb ) declarados como entradas e q declarado como saída.
  
  
module dff (input d,
                  clk,
                  rstb,
            output q);
endmodule

  

Tipos de dados


Agora que vimos como um módulo se parece, vamos ver o que pode ser colocado dentro de um módulo, olhando o módulo testbench mais uma vez. Existem basicamente dois tipos de tipos de dados em verilog: Um reg tipo de dados é usado para manter valores como uma variável, enquanto um wire é apenas análogo a um fio elétrico, que deve ser acionado continuamente. Então, normalmente wire é usado para conectar vários módulos e outros sinais.
  
  
module testbench;
	
	reg d;
	reg rst_b;
	reg clk;
	
	wire q;
endmodule

  

Tarefas


Verilog tem três blocos básicos:
always @ (condição ) sempre executado quando a condição é satisfeita
initial será executado apenas uma vez, quando a simulação começar
assign [LHS] =[RHS] O valor do LHS será atualizado sempre que o RHS for alterado


Existem algumas regras a serem lembradas ao escrever Verilog:
  
  
module testbench;
	
	reg d;
	reg rst_b;
	reg clk;
	
	wire q;
	
	initial begin
		d = 0;
		rst_b = 0;
		clk = 0;
		
		#100 $finish;
	end
	
	always begin
		#10 clk = ~clk;
	end
endmodule

  

Observação o seguinte do exemplo mostrado acima:

Verilog

  1. Tutorial Verilog
  2. Concatenação Verilog
  3. Atribuições Verilog
  4. Verilog Blocking &Non-Blocking
  5. Funções Verilog
  6. Tarefa Verilog
  7. Escopo de Referência Hierárquica Verilog
  8. Gerador de Relógio Verilog
  9. Funções matemáticas Verilog
  10. Formato de hora Verilog