Menu
Coddy logo textTech

산술적 오른쪽 시프트

Coddy Verilog 여정의 RTL 설계 및 검증 섹션에 포함된 레슨. 38개 중 8번째.

산술 오른쪽 시프트는 >>>를 사용하며 왼쪽 피연산자가 signed일 때 부호 비트를 복제합니다. 논리 오른쪽 시프트는 >>를 사용하며 0으로 채웁니다. 음의 홀수 값에서는 오른쪽으로 산술 시프트하는 것이 0을 향해 절단하는 integer 나눗셈과 같지 않습니다.

관련 발췌 내용입니다. 주변 선언과 연결은 도전 과제에서 제공됩니다.

reg signed [7:0] value;
value = -3;
$display("%0d", value >>> 1);

부호 확장이 음수인 2의 보수 해석을 유지하기 때문에 결과는 마이너스 2입니다.

부호 확장이 필요할 때는 >>>와 함께 signed 왼쪽 피연산자를 사용하세요.

challenge icon

챌린지

중급

값을 산술 오른쪽 시프트하여 signed 8비트 값으로 만들며, 시프트 양은 0에서 7까지입니다. signed 8비트 결과 y를 반환합니다. 음수 값은 부호 비트로 채워집니다. 출력 열: y. 모든 자극 값은 알려진 이진 값입니다.

design.v를 완성하고 모듈 이름과 포트를 그대로 유지하세요. 잠긴 testbench.v가 입력 변경을 제공하고 안정화된 후 출력을 출력합니다. +CASE=1과 같은 시뮬레이터 인수를 사용하여 시나리오를 선택하며, 표준 입력은 필요하지 않습니다. 설계에 출력, 지연 또는 시뮬레이션 종료를 추가하지 마세요. 예상 출력은 각 관측값마다 십진수 값이 한 행에 하나씩 표시되며, 값은 하나의 공백으로 구분되고 줄바꿈으로 끝납니다.

직접 해보기

module dut (input signed [7:0] value, input [2:0] amount, output signed [7:0] y);
    // 이 플레이스홀더를 여러분의 설계로 교체하세요.
    assign y = 0;
endmodule
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

RTL 설계 및 검증의 모든 레슨

직접 연습해 보세요: 온라인 Verilog 컴파일러