오늘은 Verilog의 Simulation Tool인 Vivado에서 프로젝트를 만들어 보겠습니다.

 


Vivado Download

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools.html

 

Downloads

Vivado, Vitis, Vitis Embedded Platform, PetaLinux, Device models

www.xilinx.com

AMD 홈페이지에서 회원가입 후 위의 파일을 설치해 vivado를 다운로드합니다.


 

Half Adder

 

위에 보이는 'Quick Start'에서 'Create Project'를 클릭합니다.

 

저는 Half Adder를 설계해 볼 것이기 때문에 파일명은 'my_hadder'로 했습니다. 그리고 C드라이브에 verilog용 폴더를 만들어 거기에 저장을 해줄 것입니다.

Source는 이따가 추가할 것이기 때문에 RTL Project에서 'Do not specify source at this time'을 선택 후 Next를 클릭합니다.

 

저는 DIGILENT의 Cora-z7을 사용할 것입니다. 따라서 그에 맞는 디바이스 설정을 해줍니다.

 

그 후에 표시한 +버튼을 눌러 소스를 추가해 줄 것입니다.

 

파일 명을 입력 후 Verilog 타입으로 파일 생성 후 Finish를 클릭합니다.

assign으로 S와 C를 정의해 줍니다.

RTL Analysis에서 Open Elaborated Design, Schematic으로 회로가 정상적으로 구성되었는지 확인합니다. 제가 구성하려는 Half Adder와 일치하는 것을 확인할 수 있습니다.

A와 B는 버튼 C와 S는 LED0, LED1의 Green으로 표기할 것입니다. 그리고 I/O Std. 에서 입출력 전압을 3.3V로 변경해 줍니다. 그렇다면 A와 B를 동시에 누르면 LED0에 Green으로 불이 들어올 것이고, A 또는 B를 하나만 누른다면 LED1 Green에 불이 점등될 것입니다.

Cora-z7 Schematic

Schematic을 확인하고 원하는 출력 값에 맞는 I/O와 전압을 설정해 줄 수 있습니다.

Run Implementation 설정
진리표 확인

원하는 cell을 선택 후 아래 Truth Table에서 진리표를 확인할 수 있습니다. 정상적으로 설정돼있는 것을 확인할 수 있습니다.

 

Run Implementation 완료 후 Netlist에서 파일을 우클릭 후, Schematic을 클릭합니다

 

이렇게 디바이스와 Schematic을 동시에 확인할 수도 있습니다. 또한 오른쪽의 Schematic에서 각 소자를 누르면 Device에서의 위치를 직접 확인할 수도 있습니다.(Device에서 흰색으로 표기됨)

Generate Bitstream 후에 Hardware Manager에서 Open Target에서 Auto Connect를 선택하여 PC에서 컴파일하여 Deivce에 Upload 합니다. 

 

보드에서 A와 B를 동시에 누르면 LED0에 Green으로 불이 들어오고, A 또는 B를 하나만 누르면 LED1 Green에 불이 점등되는 것을 확인하면 정상적으로 Upload 되었다는 것을 확인할 수 있습니다.