산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> verilog

Verilog - 호두 껍질에

모든 행동 코드는 module 안에 작성됩니다. 및 endmodule . 따라서 생성하려는 디지털 디자인이 무엇이든 module 차단하다. 포트가 정의되어 있을 수도 있고 없을 수도 있습니다. 신호가 input로 블록에 들어가는 것을 허용합니다. 또는 블록을 output로 이스케이프 처리하십시오. .

모듈

아래 예에서 빈 모듈을 testbench라고 합니다. . 영숫자여야 하고 '_'를 포함할 수 있다는 점을 제외하고 원하는 대로 이름을 지정할 수 있습니다.

<노스크립트> testbench module
  
  
module testbench;

endmodule

  

다른 모듈을 살펴보겠습니다. 몇 가지 신호(d, clk, rstb ) 입력으로 선언되고 q 출력으로 선언되었습니다.

<노스크립트> dff ports
  
  
module dff (input d,
                  clk,
                  rstb,
            output q);
endmodule

  

데이터 유형

모듈이 어떻게 생겼는지 보았으므로 이제 테스트벤치 모듈을 다시 한 번 살펴봄으로써 모듈 내부에 무엇이 들어갈 수 있는지 봅시다. Verilog에는 주로 두 가지 유형의 데이터 유형이 있습니다.

reg 데이터 유형은 변수와 같은 값을 유지하는 데 사용되는 반면 wire 지속적으로 구동되어야 하는 전선과 유사합니다. 따라서 일반적으로 wire 여러 모듈 및 기타 신호를 연결하는 데 사용됩니다.

  
  
module testbench;
	
	reg d;
	reg rst_b;
	reg clk;
	
	wire q;
endmodule

  

과제

Verilog에는 세 가지 기본 블록이 있습니다.

always @ (상태 ) 조건이 충족될 때 항상 실행
initial 시뮬레이션이 시작될 때 한 번만 실행됩니다.
assign [좌측] =[우측] RHS가 변경될 때마다 LHS 값이 업데이트됩니다.

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

  

참고 위에 표시된 예에서 다음:


verilog

  1. Verilog 튜토리얼
  2. Verilog 연결
  3. Verilog 할당
  4. Verilog 차단 및 비 차단
  5. Verilog 기능
  6. Verilog 작업
  7. Verilog 계층적 참조 범위
  8. Verilog 클록 생성기
  9. Verilog 수학 함수
  10. Verilog 시간 형식