SoC/System Verilog (3) 썸네일형 리스트형 [SystemVerilog] Modport와 Clocking block 기본적인 System verilog 문법을 공부한 뒤, 이해 안가는 것들이 있었는데 바로 modport와 clocking이다. 두 개의 문법은 어느곳에서 이해가 가도록 설명이 안되어있어서 공부 후에 이해가 가도록 정리해보았다.. MODPORT? modport란 interface내에서 중복된 port들을 사용하는게 번거로울때 선언한다. 복잡한 코드를 단순하게 만들어주는 역할! 예를 들어, axi protocol을 사용할때 axi bus에 필요한 signal들(id, data, addr 등..) 을 interface로 선언한다. interface를 통하여 input과 output signal을 표현할 수는 있다. 하지만, interface signal을 input과 output을 바꿔서 선언하고싶으면 어캄?.. [Verilog] initial begin 은 언제쓰일까? initial begin 구문은 Verilog에서 초기화(initialization)를 수행하는 데 사용됩니다. 이 구문은 디자인 내에서 딱 한 번 실행되며, 디자인이 시작될 때 실행됩니다. initial begin 구문을 사용하여 디자인 내부에서 시뮬레이션 시에 초기화를 수행하거나, 시뮬레이션 실행 전에 파일을 읽어들이는 등의 초기화 작업을 수행할 수 있습니다. 초기화 작업은 시뮬레이션의 이상적인 동작을 보장하기 위해 중요합니다. 예를 들어, 다음은 initial begin 구문을 사용하여 Verilog 모듈 내에서 시뮬레이션 초기화를 수행하는 간단한 예제입니다. module example( input clk, input reset, output reg data_out ); reg [7:0] data_.. Module과 Instance의 차이점 모듈( module ) 이란? module은 Verilog HDL에서 설계하는 기본 단위입니다. 모듈은 독립적인 하드웨어 구성요소로, 입력(input), 출력(output), 회로 동작 등을 포함할 수 있습니다. 모듈은 다른 모듈에서 인스턴스화 될 수 있습니다. 인스턴스(instance) 란? 인스턴스(instance)는 Verilog HDL에서 모듈을 사용하는 방법 중 하나입니다. 인스턴스는 모듈을 복사하여 구현된 하드웨어 구성요소를 의미합니다. 모듈 인스턴스는 원래 모듈과 동일한 기능을 수행하며, 모듈과는 달리 구체화된 실제 하드웨어를 나타냅니다. 다음은 모듈과 인스턴스를 사용하여 간단한 2:1 멀티플렉서를 구현하는 Verilog HDL 코드 예제입니다. // 2:1 멀티플렉서 모듈 정의 module.. 이전 1 다음