Xilinx/Vivado

To Add HDL to the Block Design

mouessee 2022. 8. 5. 09:13
728x90
반응형

 

 

 Introduction

 

Vivado Block Design의 "Add Module to Block Design"에 대하여 알아보겠습니다.

일반적인 RTL source의 경우는 Block Design에서 사용할 수 있는 module 형태로 만들어서 사용이 가능합니다.

물론 Xilinx IP를 포함한 RTL source의 경우도 가능합니다. 다만 Xilinx IP에 따라 가능한 IP가 있고 불가능한 IP가 있습니다. 이 부분에 대하여서도 살펴보겠습니다.

 

Test를 위한 PC 사용환경은 다음과 같습니다.

 

아래 첨부 파일은 이번 믈로그에서 사용한 Example Design 입니다.

Add_module2block_design.zip
0.18MB

 

 

 

 Add HDL to the Block Design

 

1.

다음과 같은 "test.v" file을 Vivado의 "Add Module to Block Design"을 하면 Block Design에서의 많은 Xilinx IPs와 같은 module 형태로 사용할 수 있습니다.

 

Example RTL Source

 

 

2.

다음과 같이 Vivado의 Source 창에서 "test.v" 파일을 선택한 후, 마우스 오른 쪽 버튼을 클릭하면 "Add Module to Block Design"이라는 메뉴를 선택할 수 있습니다.

 

 

Add Module to Block Design

 

 

3.

"Add Module to Block Design"을 실행하면 다음과 같이 Block Design에 "test.v" 파일의 module을 확인할 수 있습니다.

 

 

Module referenced from RTL Source File

 

 

 

728x90

 

 

 

 Add HDL(Xilinx IP를 사용한) to the Block Design

 

 

1.

Xilinx IP가 포함된 RTL code의 경우도 "Add Module to Block Design"을 실행하면, Vivado의 Block Design에 사용할 수 있는 module로 생성될 수 있습니다. 다만 가능한 Xilinx IP가 있고 또한 불가능한 Xilinx IP도 있습니다. 그리고 반드시 Xilinx IP는 다음과 같이  Synthesis Options를 "Global"로 설정하여 생성하여야 합니다.

 

 

Generate Output Products

 

 

2.

아래의 캡처화면을 보면 "sub_module01.v" 파일은 Xilinx IP인 BRAM을 포함하고 있습니다.

Source 창에서 Xilinx IP인 BRAM을 선택하고,

Source FIle Properties 창에서 "SUPPORTS_MODREF"가 Check 되어 있음을 확인할 수 있습니다.

이렇게 "SUPPORTS_MODREF"가 Check 되어있는 Xilinx IP를 포함한 RTL source의 경우만 "Add Module to Block Design"의 실행이 가능합니다.

 

 

Source File Properties window

 

 

3.

아래의 캡처화면을 보면 "sub_module02.v" 파일은 Xilinx IP인 Clock Wizard를 포함하고 있습니다.

Source 창에서 Xilinx IP인 Clock Wizard를 선택하고,

Source FIle Properties 창에서 "SUPPORTS_MODREF"가 Check 되어 있지 않음을 확인할 수 있습니다.

이렇게 "SUPPORTS_MODREF"가 Check 되어 있지 않은 Xilinx IP를 포함한 RTL source의 경우만 "Add Module to Block Design"의 실행이 불가능합니다.

 

 

Source File Properties window

 

 

 

 Supported IP is instantiated within the RTL code

 

 

1.

다음과 같이 Vivado의 Source 창에서 Xilinx BRAM IP를 포함한 "sub_module01.v" 파일을 선택한 후, 마우스 오른 쪽 버튼을 클릭하면 "Add Module to Block Design"이라는 메뉴를 선택할 수 있습니다.

 

 

Add Module to Block Design

 

 

2.

"Add Module to Block Design"을 실행하면 다음과 같이 Block Design에 "sub_module01.v" 파일의 module을 확인할 수 있습니다.

이렇게 "SUPPORTS_MODREF"가 Check 되어 있는 Xilinx BRAM IP를 포함한 RTL source의 경우는 "Add Module to Block Design"의 실행이 가능합니다.

 

 

Module referenced from RTL Source File

 

 

 

 Unsupported IP is instantiated within the RTL code

 

 

1.

다음과 같이 Vivado의 Source 창에서 Xilinx Clock Wizard IP를 포함한 "sub_module02.v" 파일을 선택한 후, 마우스 오른 쪽 버튼을 클릭하면 "Add Module to Block Design"이라는 메뉴를 선택할 수 있습니다.

 

 

Add Module to Block Design

 

 

2.

"Add Module to Block Design"을 실행하면 다음과 같이 Critical Messages 창을 확인할 수 있습니다.

이렇게 "SUPPORTS_MODREF"가 Check 되어 있지 않은 Xilinx Clock Wizard IP를 포함한 RTL source의 경우는 "Add Module to Block Design"의 실행이 불가능합니다.

 

 

Critical Messages window

 

 

 


 

지금까지 Vivado block Design의 "Add Module to Block Design"에 대하여 알아보았습니다.

보다 자세한 내용은 UG994 (v2021.2) October 27, 2021 - Designing IP Subsystems Using IP Integrator의 Chapter 14를 보아주세요.
여러분의 FPGA 설계에 조금이라도 도움이 되었으면 합니다.
오늘도 좋은 하루 되세요.

(공감, 구독, 댓글은 저에게 힘이 됩니다!)

 

 

 


Create Date: December 06, 2021

Posted By: Mouessee

 

 

 

Xilinx 본사는 한국 내에 Corporate and Sales Distributor로 MAKUS를 두고 있습니다.
Xilinx 국내 Corporate and Sales Distributor인 MAKUS는 XIlinx FPGA Device를 기술영업을 통해 판매하며 기술지원이 가능합니다.
MAKUS www.makus.co.kr

 

 

 


관련 BLOG

------------------------------

------------------------------

 

 

728x90
반응형