2013년 9월 3일 화요일

[예전글] FPGA_CPLD 배우기 2 - ISE Tool 사용법


두번째장은 Xilinx ISE tool 사용법입니다.
아래 링크에서 확인한다.
아래 링크의 예제는 ISE WebPack 7.1i가 기준이지만,
현재의 9.1i도 사용법이 달라진 부분은 거의 없습니다.
http://cgi.chol.com/~kohyc/armcpld/CPLD_Guide.htm
참고로 ISE의 schematic Editor의 사용법은 상당히 어렵고 까다롭다.
사용법이 어려운 가장 큰 이유는 초보사용자에 대한 배려가 전혀 없기 때문이다.
이 Editor는 FPGA/CPLD를 능숙하게 다루는 사람들을 기준으로 만들어져 있다.
이 editor를 익숙해지기 위해서는 먼저 Instance(로직회로)와 net(연결선)에대하여 이해해야 한다.
인스턴스는 해당 FPGA나 CPLD가 제공하는 기본로직회로나 사용자가 작성한 확장로직회로블럭이다.
마우스로 해당인스턴스를 선택한 후 오른쪽 버튼을 눌러 Object properties를 보면 InstName이 있다.
이 InstName이 아주 중요하다. 사용자가 이 인스턴스 이름을 붙이는 경우는 거의 없고, 에디터가
자동으로 이름을 붙인다.
ISE의합성과정중에 발생하는 경고/에러메시지는 이 인스턴스 이름을 기준으로 해당위치를 표시한다.
따라서 어떤 메시지상에 XLXI_형태의 문구가 있다면 해당 인스턴스가 어디 있는지 잘 찾아내야 한다.
네트는 인스턴스와 인스턴스를 연결하는 선이다.
네트는 하나의 선일수도 있고 여러선의 집합인 버스(Bus)일수도 있다.
네트에서 중요한것은 반드시 이름을 붙여야 한다는 점이다.
에디터상에서 네트(선)을 사용하면, 에디터가 자동으로 해당선이 XLXN_형태의 이름을 붙인다.
하지만 사용자는 반드시 해당 네트에 이름(해당 네트가 의미하는 기능에 해당하는 이름)을 붙여두어야 한다.
네트에 별도의 이름을 붙이지 않으면(자동으로 붙여진 이름만 사용하면) 디버깅은 거의 불가능해진다.
schematic사용시에 발생하는 대부분의 문제는 copy&paste를 시도할때 나타난다.
인스턴스는 이동하거나 복사되어도 같은 이름 혹은 새로운 이름이 자동으로 주어져고,
또한 합성결과물에서도 해당 로직이별도로 존재하게 되므로 특별한 문제가 발생되지 않는다.
하지만 NET는 이동하거나 복사될때 이름이 어떻게 될지가 중요한 문제이다.
NET의 이름에 특별한 주의를 기울이지 않는다면, 합성결과물에서 로직과 로직사이에 전혀 엉뚱한
연결이 존재하거나 존재하지 않게 되므로 NET의 이름은 항상 주의깊게 관찰해야 한다.
P.S.
에디터 사용중에 잘 모르는 사항이 있으면 마우스 오른쪽 버튼을 눌러보는것 좋다.

댓글 없음:

댓글 쓰기