상세 컨텐츠

본문 제목

ISSP / SIGNALTAP

설계공부/ISSP_SIGNALTAP

by 썽심 2024. 1. 4. 13:52

본문

728x90

SIMULATION과 보드 동작간 괴리가 생길  때 어떻게 디버깅을 할까?

 

ISSP와 SIGNALTAP두 가지 IPDEBUGING이 가능하다

ISSP

장점 : PC MEMORY를 가지고 디버깅 내부 메모리 소모를 별로 하지 않는다

단점 : 느림, 부정확(단순 SIGNAL, SW, LED 상태만 디버깅하는데 쓰임)

 

SIGNALTAP

장점 : 정확하고 / 빠름

LOGIC Aralyser를 가지고 있다.

Main clk기준으로 정확하게 probe를 한다.

+출력이 가능하다.

 

단점 : FPGALogic이라던지, memory 소모를 한다.

resource 소모를 한다.

 

 

FPGA 개발 시 70~80% 정도만 디자인을 채워라 하는데

그 이유는 SIMULATION 시 오류가 났을 때 Probe를 할 수 없기 때문에 그 이유다.

 

 

 

ISSP 방식부터 진행했다.

 

Input Source

Outputprove

 

 

 

Pin_map하면 동작을 할 것이다.

 

Pin_map을 하기위해

INPUT과 OUTPUT을 간단히 작성 후 진행했다.

 

*포트 리스트가 없다면?

 

직접적으로 ip catalog를 사용하여 넣어 줘보자.

 

 

첫단에 말한것 처럼 

Prove : ouptput

source : intput

으로 설정해주면된다.

INPUT이 두 개니까 SOURCE부분에 2

PROVE는 1로 해주면 된다.

 

 

Generate HDL 누른 후

 

생성완료

 

 

FINISH를 누르면

안내문구가 뜬다.

 

 

QIP를 넣으라고 안내문구가 뜸

 

QIP를 찾아서 등록해주면 된다.

생성하게 되면 해당 폴더 내 ISSP 폴더가 생성 된 후 그 폴더에 있다.

 

등록한 뒤 핀 맵 설정을 위해

컴파일을 해준다.

 

PIN_MAP 설정

 

 

설정 한 뒤 보드 동작을 위해 Assembler을 통해 sof파일 생성 한 뒤 보드에 파일을 등록한다.

 

 

inst파일을 찾은 뒤 instantation 해준다

 

 

빈칸을 채워준다.

 

 

 

#보드동작후 돌려야함!!!!

Z control을 하기 위해 툴 하나를 띄우면 된다.

 

두 번째 거를 클릭

 

 

꺼졌을 때

 

SIZE128BIT로 바꾼 뒤 값 조정

 

Z값 추가

 

KEY INPUT 없이, 디버깅이 가능하다.

ISSP를 사용하여 마우스로 Control 되는 모습.

 

 


Signaltap

얘는 ISSP와 달리 clk이 있어야한다.

 

 

이제 Signaltap을 통해 검증해보자.

TOOLS – signal tap logic analyzer

 

 

Data sampling ?

Ex) 433 중간에 값을 캡쳐해서 안정적인 signal을 사용

 

 

 

들어간 뒤 filterPre-synthesis로 하면 ip가 나옴

 

 

 

오른쪽클릭해서 add_node 한 뒤

 

 

 

Add_node에서 clk빼고 추가하고 insert해주자.

 

 

 

추가되었다.

 

 

Rising / faling edge 지정

 

홈에서

 

 

Faling_edge 했을 때

 

보드 동작

 

 

LOGIC_LE

확실히 LOGIC이 많이 커진것을 확인할 수 있다.

 

따라서 이러한 경우를 위해 FPGA제작 시 80%정도만 채워 제작하는것이다.

728x90