[FPGA]

[Altera] pin Name and Function

Neo Park 2014. 12. 16. 14:15

FPGA를 처음 딱 받아들면, 다른 반도체와 마찬가지로 사각형의 칩일 뿐입니다. 그러면 맨 먼저 무엇이 막막하겠습니까?
정체는 FPGA인줄 알겠는데, 그럼 밑에 쪼르르 달린 발들은 어떻게 사용해야 하는가 하는 의문이 생기지요.. 당연히 그래야 합니다.

그래서 이번 강의는 알테라의 Stratix디바이스의 예를 들어 핀에 대한 설명을 하도록 하겠습니다. 다른 디바이스 패밀리도 대충 비슷한데 약간씩 다른 핀들이 추가되는 경우가 있지요.. 기능에 따라서.. 첨부파일은 Stratix 1S10디바이스의 핀정보 데이터시트이고 이 중에서 Table 1-3을 참고하시기 바랍니다.

<전원관련핀들>

1. VREF : 레퍼러스 전압이 필요한 경우에만 사용합니다. 주로 LVTTL이나 LVCMOS가 아닌 특수한 I/O standard를 사용하는 경우 거기에 맞는 전압을 연결해 주어야 합니다. 안 쓰는 경우에는 VCC나 GND에 연결하라고 되어있지요?

2. VCCIO : I/O 전압입니다. 아시다시피 요즘 FPGA들은 Multi-Volt를 사용하기 때문에 I/O의 경우 다양한 전압을 사용할 수 있습니다. stratix의 경우에는 1.5, 1.8, 2.5, 3.3V를 지원합니다. 주로 3.3V를 사용하지요?

3. VCCINT : 내부 코어 동작전압입니다. 이것은 반도체 공정과 밀접한 관계가 있는데 stratix는 0.13um공정을 사용하기 때문에 1.5V를 사용합니다.

4. VCC_PLL*_OUT* : 이것은 PLL의 출력전압을 위한 것인데 I/O쪽이므로 VCCIO와 같은 전압을 사용합니다.

5. VCCA_PLL : 이것은 PLL의 내부동작을 위한 것인데 코어와 같은 전압을 사용합니다만, Analog 쪽 전압을 사용합니다. 즉, 디지털노이즈의 영향을 없애기 위해 별도의 Analog를 위한 전압플레인이나 전압소스를 사용해야 한다는 것입니다. 그냥 보드상에서 디지털전압과 분리된 플레인을 사용하면 됩니다.

6. VCCG_PLL : 이것은 PLL의 디지털 코어전압입니다. 1.5V

7. GNDA_PLL : PLL의 아날로그 그라운드.

8. GNDG_PLL : PLL의 디지털 그라운드.

[configuration] 관련핀들 : 이것들은 전용핀입니다.

1. Conf_done(쌍방향이지만 주로 출력) : Configuration이 성공적으로 되었다고 알려주는 핀입니다. configuration이 성공하면 High가 됩니다. 알테라의 다운로드 케이블이 이 입력을 감지하여 소프트웨어에서 "configuration successful" 또는 "configuration failure"등의 메시지를 내 보내는 것입니다. 보드상에서 LED를 달아서 눈으로 확인할 수도 있습니다. Pull-up을 해 줍니다.

2. nSTATUS(쌍방향이지만 주로 출력) : Configuration이 되고 있음을 알려주는 핀입니다.Pull-up을 해 줍니다.

3. nConfig(입력) : configuration의 시작을 제어하는 핀입니다. low로 떨어지면 FPGA를 리셋하고 High로 올라갈 때 configuration이 시작되는 것이죠.. configuration ROM을 사용할 경우 이 핀을 살짝 ground로 연결시키면 다시 프로그램을 시작하게 됩니다. 만약, 보드에 노이즈가 끼어 이 핀이 흔들리거나 문제가 생기면 configuration에도 영향을 주기도 하겠죠..Pull-up을 해 줍니다.

4. DCLK(입력) : configuration용 클럭입니다. 대개의 경우 pull-down을 해 주어서 쓸데없는 low-to-high transition이 일어나지 않도록 해 주어야 합니다. 짧은 glitch만 떠도 configuration에 문제가 생깁니다.

5.nIO_PULLUP(입력) : 이건 Stratix에서부터 생긴 핀인데, 컨피규레이션 중에 모든 I/O를 Pull-up(weak)을 해 줄 것인가를 정해주는 핀입니다. 보통 FPGA의 I/O들은 컨피규레이션중에 tri-state라고 되어 있지만 보드에서 운용을 하다보면 자칫 low signal처럼 보이게 되는 경우가 있어 문제가 발생하기도 합니다. 그래서 이러한 것을 방지하고자 이런 옵션핀을 둔 것 같습니다. low일때 enable입니다.

6. PORSEL (입력): Power-on-Reset을 2ms로 할 것인가 100ms로 할 것인가를 정하는 것입니다. 이것은 다중전원을 사용하는 경우에 모든 전원이 안정적으로 된 후에 cofiguration이 시작되도록 할 필요가 있습니다. 그래서 환경에 따라 2ms의 여유를 둘 것인가 100ms의 여유를 둘 것인가를 세팅하게 됩니다. Stratix부터 생긴 핀입니다.

7. VCCSEL(입력) : configuration 핀들의 입력 레벨을 3.3/2.5 또는 1.8/1.5v로 조정하는 핀입니다. 대개 3.3V를 I/O로 사용하므로 이경우 GND에 연결합니다.

8.nCEO (출력): FPGA를 여러개 묶어서 configuration을 할 때 앞의 FPGA가 "나 다 끝났으니 너 시작해라"라고 알려주는 핀입니다. 하나만 쓸 경우에는 open시키지만 여러개를 체인으로 연결할 때는 다음 FPGA의 nCE와 연결하고 맨 마지막 FPGA의 nCE는 open시킵니다.

9. nCE(입력) : Chip Enable신호입니다. 하나만 쓸 경우에는 GND에 연결하고 체인으로 연결할 경우 앞 디바이스의 nCEO에 연결합니다.

10. TMS, TCK, TRST, TCK, TDO : JTAG 핀들이죠. Boundary Scan이나 JTAG Configuration시 사용합니다. 요즘은 보통 JTAG으로 configuration을 많이 하지요..

11. MSEL : FPGA는 여러개의 configuration모드를 가지고 있습니다. 이 핀은 그러한 모드를 세팅하는 것이므로 자신이 사용하고자 하는 configuration에 맞게 세팅해 주어여 합니다. 데이터시트를 참조하세요..

12.Tempdiode : 이것은 configuration과 무관한 핀입니다. 이것은 Stratix의 동작시 내부 다이의 온도를 밖에서 알 수 있도록 온도센서와 연결 할 수 있도록 만들어 놓은 핀입니다. 안써도 무방하고 써도 무방하고...

 

 

'[FPGA]' 카테고리의 다른 글

[Altera] timing simulation 방법  (0) 2015.03.05
FPGA 선정 기준  (0) 2015.01.08
[altera] UniPHY를 이용하여 DDR3 interfacing하는 방법  (0) 2014.11.25
OSD 구현 방법-2  (0) 2014.09.25
OSD 구현 방법-1  (0) 2014.09.25