2017-09-16 4 views
-1

다음 코드는 심지어 입력 A. 패리티 획득 (A가 포함 된 경우, 즉, 패리티 = 1 0 1의 또는 하나의 짝수) I 사용할 것인가의 Verilog는 : 입력 짝수 패리티는

reg [7:0] A; 
wire parity; 
assign parity = ~^A; 

절차 블록에서 for 루프를 사용하면 동일한 함수를 얻을 수 있습니다.

+0

사용자가 직접 시도해야합니다. – Serge

답변

1

이렇게하면됩니다. 기본적으로 원하는 것은 벡터의 한쪽 끝에서 시작하여 다른 쪽 끝으로 이동하는 것입니다. 패리티 비트를 뒤집을 때마다 '1'을 찾습니다. 아무 것도 발견하지 못하면 패리티는 1입니다. 짝수가 # 인 경우 패리티도 1이됩니다.

integer i; 
reg parity; 

always (*) begin 
    // Default values 
    parity = 1'b1; 

    for (i = 0; i < 8; i++) 
     if (A[i]) 
      parity = ~parity; 
end