Menu
Coddy logo textTech

설계 추상화 수준

Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 5번째.

디지털 설계에서는 동일한 회로를 서로 다른 세부 수준으로 설명할 수 있습니다. Verilog는 이러한 어떤 추상화 수준에서든 회로를 설명할 수 있는 언어입니다. 이것이 Verilog를 강력하게 만드는 이유입니다!

다음은 레벨입니다:

Level 1: Behavioral

이 레벨은 회로가 어떻게 동작하는지가 아니라 무엇을 하는지를 설명합니다. "수를 세어 증가하기" 또는 "두 수를 더하기"와 같이 기능 또는 동작에 중점을 둡니다.

계수 또는 덧셈이 어떻게 이루어지는지에 대한 내부 세부 정보는 표시되지 않습니다. 이 수준은 인간의 사고방식에 가장 가깝고 작성하기 더 쉽습니다.

Level 2: RTL

이 레벨에서는 레지스터 간에 data가 어떻게 이동하고 해당 data에 어떤 연산이 수행되는지 보여줍니다. data 경로를 확인할 수 있습니다. data는 레지스터에서 가산기로 이동한 다음 레지스터로 돌아갑니다.

이것은 대부분의 디지털 설계자가 작업하는 수준입니다. 이해하기 쉬우면서도 하드웨어를 만들 수 있을 만큼 충분히 상세하다는 점에서 균형이 잘 맞기 때문입니다.

Level 3: Gate Level

이 수준에서는 AND, OR, XOR와 같은 기본 논리 게이트를 사용하여 회로를 설명합니다. 모든 연결이 명시적으로 표시됩니다.

이 레벨은 매우 상세하며 손으로 작성하기 어렵습니다. 일반적으로 직접 작성하지 않고 상위 수준의 설명에서 도구를 사용해 생성합니다.
 

중요한 이유

- **더 높은 수준** = 작성하기 쉬움, 제어력 낮음
- **더 낮은 수준** = 작성하기 어려움, 제어력 높음
- **RTL**은 대부분의 설계 작업에 가장 적합한 지점입니다

challenge icon

챌린지

해야 할 일:

  1. 이 코드를 실행하고 동일한 연산이 세 가지 서로 다른 수준에서 어떻게 설명되는지 확인하세요:

직접 해보기

module abstraction_demo;
  
  initial begin
    $display("=== Design Abstraction Levels ===");
    $display("");
    
    $display("Level 1 (Behavioral):");
    $display("  'Add a and b' - no details how");
    $display("");
    
    $display("Level 2 (RTL):");
    $display("  'On clock edge, result <= a + b' - shows data flow");
    $display("");
    
    $display("Level 3 (Gate Level):");
    $display("  'XOR gates for sum, AND gates for carry' - actual gates");
    $display("");
    
    $finish;
  end
  
endmodule
quiz icon실력 점검

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

기초의 모든 레슨

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