나는 Verilog 언어를 연구 중이며 문제에 직면 해있다.Verilog operation unexpected exclusion 결과
integer intA;
...
intA = - 4'd12/3; // expression result is 1431655761.
// -4’d12 is effectively a 32-bit reg data type
표준에서 가져온이 스 니펫은 우리의 마음을 날려 버렸습니다. 표준에 따르면 4d12 -은 4 비트 숫자 입니다. Then -4d12 = . 이제 괜찮아.
나누기를 수행하려면 숫자를 같은 크기로 가져와야합니다. 4 ~ 32 비트. 비트 수는 -4'd12 - 부호가 없으므로 32'b0000 ... 0100과 같아야하지만 32'b1111 ... 10100과 같습니다. 괜찮지 만 다음 단계.
분단내 버전 : -4d12/3 = 32'b0000 ... 0100/0011 ... 32'b0000 = 1
의 standart 버전 - 4'd12/3 =
아무도 말할 수 있습니까? 왜 4 비트 숫자가 여분의 비트를 유지합니까?