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

Verilog 블록 문

단일 명령문과 구문상 동일하고 블록 명령문이라고 하는 명령문 세트를 함께 그룹화하는 방법이 있습니다. . 블록 명령문에는 순차 및 병렬의 두 가지 종류가 있습니다.

순차

명령문은 begin을 사용하여 래핑됩니다. 및 end 키워드를 지정하고 지정된 순서대로 차례로 실행됩니다. 지연 값은 이전 명령문의 실행 시간을 기준으로 처리됩니다. 블록 내의 모든 명령문이 실행된 후 제어가 다른 곳으로 전달될 수 있습니다.

<노스크립트> initial-begin-end
  
  
module design0;
	bit [31:0] data;
  
	// "initial" block starts at time 0
	initial begin
      
		// After 10 time units, data becomes 0xfe 
		#10   data = 8'hfe;
		$display ("[Time=%0t] data=0x%0h", $time, data);
      
		// After 20 time units, data becomes 0x11
		#20   data = 8'h11;
		$display ("[Time=%0t] data=0x%0h", $time, data);
	end
endmodule

  

위의 예에서 begin-end의 첫 번째 문 블록은 10시간 단위로 실행되고 두 번째 명령문은 30시간 단위로 실행됩니다. 이전 명령문 실행 후 20시간 단위입니다.

시뮬레이션 로그
ncsim> run
[Time=10] data=0xfe
[Time=30] data=0x11
ncsim: *W,RNQUIE: Simulation is complete.

병렬

병렬 블록은 명령문을 동시에 실행할 수 있으며 지연 제어를 사용하여 할당의 시간 순서를 제공할 수 있습니다. 명령문은 fork 내에 래핑하여 병렬로 실행됩니다. 및 join 키워드.

  
  
	initial begin
		#10   data = 8'hfe;
		fork
		   #20 data = 8'h11;
		   #10 data = 8'h00;
		join
	end

  
<노스크립트> fork-join-verilog

위의 예에서 fork-join 블록은 10 시간 단위로 명령문을 실행한 후 실행됩니다. 이 블록 내의 명령문은 병렬로 실행되며 시작될 첫 번째 명령문은 포크 조인 시작 후 10시간 단위의 지연이 있기 때문에 데이터에 8'h00 값이 할당된 명령문입니다. 10시간 단위가 더 지나면 첫 번째 명령문이 실행되고 데이터는 8'h11 값을 얻습니다.

  
  
	initial begin
		#10 data = 8'hfe;
		fork
			#10 data = 8'h11;
			begin
				#20 data = 8'h00;
				#30 data = 8'haa;
			end
		join
	end

  
<노스크립트>

begin-end가 있습니다. 위의 예에서 블록과 시작-끝 블록 내의 모든 명령문은 순차적으로 실행되지만 블록 자체는 다른 명령문과 함께 병렬로 실행됩니다. 따라서 데이터는 20시간 단위에서 8'h11, 30시간 단위에서 8'h00, 60시간 단위에서 8'haa를 얻습니다.

블록 이름

순차 블록과 병렬 블록 모두 : name_of_block를 추가하여 이름을 지정할 수 있습니다. 키워드 begin 뒤 및 fork . 이렇게 하면 disable에서 블록을 참조할 수 있습니다. 성명서.

  
  
	begin : name_seq
		[statements]
	end
	
	fork : name_fork
		[statements]
	join

  

verilog

  1. 데이터 준비 자동화가 어떻게 통찰력을 얻는 시간을 단축합니까?
  2. Verilog 튜토리얼
  3. Verilog 연결
  4. Verilog - 호두 껍질에
  5. Verilog 할당
  6. Verilog 차단 및 비 차단
  7. Verilog 제어 블록
  8. Verilog 기능
  9. Verilog 스케줄링 의미론
  10. S&OP, 데이터 및 계획 시스템을 발전시킬 때입니다.