-
[Verilog][기초문법] 모듈, 포트개발/Verilog 2022. 1. 5. 21:09
모듈 포트와 연결
모듈의 포트는 기본적으로 3가지 타입으로 정의한다
input 입력, reg 선언 불가능 output 출력, reg 선언가능 inout 입출력, reg 선언 불가능 포트 선언은 2가지 방법이 있다.
포트에 이름을 적고 모듈 내부에 입출력 방향을 정의하는 방법
module test(sum, cout, a, b, cin); output [1:0] sum; output cout; input a, b; input cin; ... endmodule
C style, 포트에 이름과 입출력 방향을 동시에 정의하는 방법
module test( output sum, output cout, input a, input b, input cin ); ... endmodule
외부의 신호를 모듈과 연결하는 방법에는 위치에 의한 연결, 이름에 의한 연결 2가지가 있다.
2가지는 혼용할 수 없다.
wire [1:0] sum; wire cout; wire a, b, cin; // 위치에 의한 연결 test dut_by_posi(sum, cout, a, b, cin); // 이름에 의한 연결 // 위치는 상관없다. test dut_by_name(.cout(a), .sum(sum), .b(b), .a(a), .cin(cin)); // 모듈 포트를 연결하지 않은채 둘 수 있다. test dut1(sum, , , , cin); test dut2(.sum(), .cout(), .a(a), .b(b), .cin(cin));
일부 또는 전체 포트들을 연결하지 않고 둘 수 있다.
위치에 의한 연결이라면 해당 위치를 공백으로 남기면 되고,
이름에 의한 연결이면 .name() 으로 두거나 생략하면 된다.
'개발 > Verilog' 카테고리의 다른 글
[Verilog][기초문법] task, function (0) 2022.01.09 [Verilog][기초문법] generation 구문 사용법 (0) 2022.01.08 [Verilog][기초문법] 조건문, 분기문 (0) 2022.01.08 [Verilog][기초문법] 데이터 형 (0) 2022.01.03