하만 과정 공부/Verilog - Zynq7000 3

9-15 Vitis 배운 내용 정리

일단 Vitis는 기본적으로 툴이고 툴 사용법을 배웠다 보면 된다.  Zynq 7series가 탑재된 Cora Z7 보드를 이용했다.이는 Arm cpu와 Xilinx의 FPGA가 합쳐진 SoC칩을 탑재하고 dram도 탑재했다.결과적으로 cpu와 ram이 있어서 컴퓨터이고, FPGA란 변형 가능한 회로가 탑재되서 회로에 컴퓨터로 데이터를 넣어줘서 결과 값을 받거나, FPGA를 검증할 수 있는 보드이다.이때 컴퓨터라 PS(Processor)이고, FPGA는 PL(Programmable Logic)이라 부른다.옛날에는 PL이 따로 있었다고 하는 것 같았다. IC칩이 잔뜩 들어가서 점프선을 연결해서 회로를 만들었다고 한 것 같다. FPGA는 기본적으로 회로 구성요소인 레지스터(F/F)과 카운터회로, MUX, 논..

9-15 베릴로그 합성 문제 관련 배운 내용과 생각 정리

내가 베릴로그를 배울 때 시뮬레이션은 잘 돌아갔으나, 합성이 안되는 경우가 있었다.그래서 합성이 잘 되는 교수님의 코드를 살펴보니 몇가지 특징이 있어서 정리하려 한다.그동안 배운 내용도 같이 적는다. 1. 결국 베릴로그는 하나의 기능을 하는 모듈을 설계한다.설계의 기본 단위는 모듈이고, 이는 인풋과 아웃풋이 있다.이 외에 기본적으로 들어가는 리셋과 클럭이 있다.그래서 인풋, 리셋, 클럭을 가지고서 기능을 동작하게 만든다. 2. 일단 모듈의 시작은 타이밍 계산이 부분을 좀 늦게 알아서 힘들었다.결국 우리가 회로 설계할 때 주요하게 보는 것은 신호의 타이밍이다. 이것을 알려면 순차회로와 조합회로를 알아야 된다.베릴로그 회로는 크게 순차 회로(클럭이용)과 조합회로(논리 게이트 이용)으로 구성된다. 3. 먼저 ..

9-5 베릴로그 합성 안되는 문제점 기록 정리

1. 신호별로 다른 always 구문을 사용해야 된다.이게 하나의 모듈을 사용할 때는 문제가 없는데,계층형 설계로, top 모듈로 합칠때, 합성이 안되는 문제가 나온다.이유는 모르나 모듈을 인스턴스로 불러올 때, 신호가 분리가 안 되어 있으면 분석이 안되는 것으로 추정됨=> 결론신호별로 다른 alway 구문을 사용하기 여기부터는 검증 안된 문제점2. 한 always구문 안에서 변경되는 변수를 조건으로 사용하지 않기?3. output 을 reg로 선언할 때, output 구문과 reg 구문을 2줄로 나누지 않기 다른 신호로 인식함4. 신호선 중복 선언 금지