verilog generate instance 질문이요

verilog generate instance 질문이요

작성일 2023.01.17댓글 1건
    게시물 수정 , 삭제는 로그인 필요

verilog에서 generate로 인스턴스를 선언하려고하는데
포트 name을
0번 인스턴스는 port_0을 연결하고
1번 인스턴스에는 port_1을 연결하고 이렇게 반복하려고합니다
그럼 genvar로 선언한 i가 1씩증가하는 경우에
port_i로 선언해도되나요?

port[i]로 선언하면 해당 포트의 비트 자리가 되어버려서요 ㅠㅠ

감사합니다


#verilog generate #verilog generate for 차이 #verilog generate instance #verilog generate 합성 #verilog generate module instantiation #verilog generate always #verilog generate module #verilog generate case #verilog generate instance name #verilog generate assign

profile_image 익명 작성일 -

genvar로 선언한 변수 i를 사용하여 포트를 선언하면 문제가 발생할 수 있습니다. genvar로 선언한 변수는 내부적으로 정수값으로 처리되므로 포트 이름에 사용할 경우 해당 포트가 배열 형태로 선언되어 문제가 발생할 수 있습니다.

대신, generate 블록 안에서 localparam을 사용하여 포트 이름을 정의하는 것이 좋습니다. 예를 들어, 아래와 같이 정의할 수 있습니다.

genvar i;

generate

for (i = 0; i < N; i = i + 1) begin: instance_gen

localparam string port_name = "port_" + string(i);

// 포트 선언 및 인스턴스 선언 여기에 작성

end

endgenerate

localparam은 내부적으로 상수 값으로 처리되므로 포트 이름에 사용할 경우 정상적으로 동작합니다.

Xilinx의 VHDL질문

... VHDL과 Verilog-HDL이다. HDL이란 이와 같이... HDL의 종류 1) Verilog-HDL : HILO-HDL(GenRAD사)을 기본으로... 대기업에서 Verilog-HDL을 일부 사용하고있었으나 극히...

verilog generate instance 질문이요

verilog에서 generate로 인스턴스를 선언하려고하는데 포트 name을 0번... generate for (i = 0; i < N; i = i + 1) begin: instance_gen localparam string port_name = "port_" + string(i)...