verilog case문 예제

Verilog 사례 문은 C의 switch 문이 작동하는 방식으로 정확하게 작동합니다. 입력이 주어지면 문은 입력 신호가 정한 조건을 찾기 위해 가능한 각 조건을 살펴봅니다. 여러 조합에 대해 하나의 입력 신호를 확인하는 데 유용합니다. Verilog 사례 문은 case 키워드로 시작하여 끝 문자 키워드로 끝납니다. paranthes 내의 표현식은 정확히 한 번 평가되며 작성된 순서대로 대안 목록과 대체 식이 지정된 식이 실행되는 일치하는 문과 비교됩니다. 여러 문의 블록을 그룹화하고 시작 및 끝 내에 있어야 합니다. 대/소문자 식과 대/소문자 항목 식모두 비트 길이가 같아야 합니다. 식이 상수식이 될 필요는 없습니다. 7에서 14줄은 진실 테이블의 « y » 출력을 설명하는 중첩된 « if » 문에 해당합니다. 우선 순위가 가장 높은 입력(x[3])이 먼저 선택됩니다. 논리가 높으면 조건이 true로 평가되고 출력이 11로 설정됩니다. true가 아닌 경우 다른 « if » 문이 실행되는 첫 번째 « else » 내의 표현식이 실행됩니다.

이 두 번째 « if » 문은 x[2]를 검사합니다. true이면 출력이 10으로 설정되어 그렇지 않으면 다음 « else » 문 내의 표현식이 평가됩니다. 보시다시피 11번 선의 « else » 분기 내에 또 다른 « if » 문이 있습니다. 대/소문자 식은 상수 식일 수 있습니다. 예제 5에서 문1은 `a`가 1`b1과 같은 경우에만 실행됩니다. 6호선은 유용한 Verilog 표기공을 소개합니다. « 항상 » 블록을 사용하여 조합 회로를 설명할 때감도 목록에 모든 입력을 나열해야 합니다. 이러한 모든 입력을 나열하는 대신 위의 6줄에서 사용된 @*를 간단히 사용할 수 있습니다. 이렇게 하면 합성 도구가 모든 입력이 감도 목록에 있음을 알립니다. « casex » 문은 z, x 및 ? 돌봄을 하지 않는 캐릭터. 예를 들어 « casex » 문을 사용하여 이전 예제의 6~17줄을 단순화할 수 있습니다.

케이스 테스트의 신호와 동일한 값만 사용할 수 있습니다. « 대/소문자 » 문은 « control_expression »을 « option_1 », « option_2 », « option_n », « option_n »으로 표시된 값과 비교합니다. 일치하는 프로시저 문이 발견되면 해당 절차 문이 실행됩니다. 일치하는 항목이 없는 경우 기본 문이 실행됩니다. 분기 내에 문이 하나만 있는 경우 « 시작 » 및 « 끝 » 키워드를 제거할 수 있습니다. « 표현식 »이 평가되고, 사실이라면 첫 번째 « 시작 » 및 « 끝 » 내의 표현식이 실행됩니다. true가 아닌 경우 « else » 키워드에 해당하는 절차 문이 실행됩니다. 분기 내에 식이 하나만 있는 경우 « 시작 » 및 « 끝 » 키워드를 제거할 수 있습니다. 중첩된 « if » 문을 사용하여 보다 복잡한 기능을 설명할 수 있습니다. 다음 예제에서는 우선 순위 인코더를 설명하기 위해 중첩된 구조를 사용하는 방법을 보여 주며 있습니다. 이 문서에서는 조합 회로를 설명하기 위해 Verilog « If » 및 « Case » 문을 사용하는 방법을 설명합니다.

또한 Verilog « Casex » 및 « Casez » 진술을 살펴보고 이 두 문을 사용하는 잠재적인 함정에 대해 간략하게 논의할 것입니다. « case » 문의 여러 분기에서 절차 문이 같으면 단일 분기에 병합하고 코드를 보다 컴팩트하고 읽을 수 있도록 할 수 있습니다. 예를 들어 4대2 우선 순위 인코더의 진실 테이블을 고려합니다. « casez » 문은 z만 취급합니다. 돌봄(z 및 ? 등가)으로 문자가 됩니다. 따라서 이전 예제의 « casex »를 « casez »로 대체하면 위에서 설명한 문제를 해결할 수 있습니다. 이 경우 알 수 없는 입력(x)으로 인해 잘못된 분기 가 선택될 수 없습니다. 그러나, 우리는 높은 임피던스가 될 수있는 입력에주의해야합니다. « Casez » 문을 사용하면 분기 식에 있거나 « casez » 문 다음의 괄호 안에 상관없이 z 값을 포함하는 비트 위치가 마스로 표시됩니다.

This entry was posted in Non classé. Bookmark the permalink.

Comments are closed.