FPGA 7

[Verilog HDL] 1. 수의 표현

정수는 십진수, 16진수, 8진수, 2진수로 표현될 수 있으며 비트 수가 지정된 형식과 미지정된 형식 두가지로 표현이 된다. 비트 수 지정 형식은 다음과 같다. 예를 들어 4'b1001 라고 한다면 [ , ] + 4 ' b 1001 여기서 부호 '+' , '-' 같은 경우에는 2의 보수 형식을 나타내게 된다. 십진수 : 'd ex) 4'b1001 4비트 이진수 "1001" 16진수 : 'h ex) 5'd3 5비트 십진수 3 "00011" 8진수 : 'o ex) 3'b01x 3비트 이진수 "01x" (LSB가 unknown) 2진수 : 'b ex) 12'hx 12비트 16진수 "xxxxxxxxxxxx" 비트 수 미지정 형식은 0~9 숫자만으로 십진수를 표현하든지, 다른 진수의 경우는 비트 수를 지정하지 않..

FPGA/Verilog study 2021.08.10

[Verilog] Sequential Logic (순차 논리) - [ D Flip Flop ]

Sequential Logic (순차 논리) 회로란. 출력이 현재의 입력 값에 의해 결정되는 것이 아닌. -> Combination Logic (조합 논리) 과거(기존)의 입력 값(상태)들의 영향 또한 받아서 출력이 결정되는 논리 회로이다. combination logic = (+ , - , and, or 과 같은 연산용 로직) sequential logic = 시점에 따라 결과 값이 달라지고, 이를 구성하기 위한 저장매체가 필요하다. D 플립플롭은 입력 D의 값을 클럭의 엣지에 캡처해서 Q에 반영한다. (값을 저장) D 플립플롭의 출력 상태 변화는 클럭의 엣지에서만 이루어진다. 즉, 클럭에 동기화 되어 출력의 상태 변화가 일어난다. SET, RESET 에 의해서 값을 클럭에 비동기하여 초기화가 가능하다..

FPGA/Verilog study 2021.07.08

[Verilog] FSM 설계 스탑워치 구현

무어 머신 : 상태머신이 현재 상태에만 영향을 받음 - 초기 상태에서 클럭의 에지에서 i가 '0' 이면 s0 상태 유지, '1'이면 s1으로 천이 - 출력 y는 s0에서 항상 입력 m을 출력하고, s1에서 항상 입력 n을 출력 밀리 머신 : 상태머신이 현재 상태와 입력에 영향을 받음 - 초기 상태에서 클럭의 에지에서 i가'0'이면 s0상태 유지, '1'이면 s1으로 천이 - 출력 y는 s0에서 s1으로 천이될 때 입력 n을 출력, s1에서 s0로 천이될 때 입력 m을 출력 idle, running, stop 상태에서 버튼에 따라서 각각의 다른 출력 값을 내보내는 것이다. 동작설명 스탑와치의 동작은 초기 상태에서 Start 버튼을 누르면 시간이 증가하다가 Stop 버튼을 누르면 정지하고 Reset 버튼을 ..

FPGA/Verilog study 2021.05.17

[Petalinux] Zybo-z7-20 보드에 petalinux 부팅하기 (SD카드)

저의 환경구성은 Windows 10, Ubuntu 18.04 64bit(vmware) 입니다. 기본적으로 github.com/Digilent/Petalinux-Zybo-Z7-20의 내용을 참고하며 따라했습니다. Digilent/Petalinux-Zybo-Z7-20 Contribute to Digilent/Petalinux-Zybo-Z7-20 development by creating an account on GitHub. github.com 위 내용에서는 Ubuntu 16.04.x LTS를 사용할 것을 적극 권장한다고 합니다. 하지만 저는 18.04 로 진행하였습니다. 이것 저것 찾아본 결과 bsp 파일과 petalinux 의 버전일치가 중요하다고 합니다. 아래에서 bsp 파일을 2017.4-3 을 사용..

FPGA/petalinux 2021.03.30

[Vitis-AI] 개발 키트 다운로드 - 1 (Docker 설치 + 호스트 설정)

Vitis-AI 를 사용해보게 되어서 사용법도 익히고 공부할 수 있는 환경을 구성해보려고 하였습니다. Xilinx의 Vitis AI User Documentation 를 통해서 진행 해보았습니다. www.xilinx.com/html_docs/vitis_ai/1_3/installation.html#qoi1603967292432 Installation and Setup To improve the user experience, the Vitis AI Runtime packages, VART samples, Vitis-AI-Library samples and models have been built into the board image. The examples are precompiled. Therefore, ..

FPGA 2021.03.12

[Model sim] 모델심 사용법 < 전가산기 시뮬레이션 하기 >

Model sim은 Vivado에서 verilog 코딩 한 뒤에 FPGA에 타켓하기 이전에 시뮬레이션을 하기 위한 용도? 라고 한다. 다양한 회로들을 직접 구현한 뒤에 빠르게 시뮬레이션 돌려서 결과 값을 확인할 수 있다고 한다. 컴퓨터에서 코딩으로 회로를 구현하다 보니 어떠한 스위치와 같은 입력을 주어야 한다. 이것에 대한 역할을 Test bench에서 하게 된다. 전가산기를 예제로 간단하게 모델심을 사용해 보겠다! Model sim 실행 File -> New -> project Create Project Verilog 언어 선택 후 new file 2개 생성 1. (fulladder) test_bench 2. (fulladder) module 전가산기 회로도 [ Full adder.v ] module ..

FPGA/Model sim 2021.01.15