1 |
1
다수의 어플리케이션에 대응하는 다수의 비휘발성 메모리 소자를 포함하고 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자 중 어느 하나의 비휘발성 메모리 소자를 선택하는 데이터 저장부;디코더에서 출력되는 활성화 신호에 따라 상기 어느 하나의 비휘발성 메모리 소자에 저장된 정보를 증폭하는 증폭부; 및쓰기 신호에 따라 데이터 신호에 대응하는 정보를 상기 어느 하나의 비휘발성 메모리 소자에 프로그램하는 쓰기 제어부를 포함하는 LUT
|
2 |
2
청구항 1에 있어서,기준 비휘발성 메모리 소자를 포함하는 기준 데이터 저장부를 더 포함하고,상기 증폭부는 상기 어느 하나의 비휘발성 메모리 소자와 상기 기준 비휘발성 메모리 소자에 저장된 정보의 차이에 대응하는 신호 차이를 증폭하는 LUT
|
3 |
3
청구항 1에 있어서, 상기 데이터 저장부는 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 증폭부에 선택적으로 연결하는 다수의 제 1 선택 스위치와 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 쓰기 제어부에 선택적으로 연결하는 다수의 제 2 선택 스위치를 포함하는 LUT
|
4 |
4
청구항 1에 있어서, 상기 증폭부의 출력을 버퍼링하는 데이터 출력부를 더 포함하는 LUT
|
5 |
5
청구항 1에 있어서, 상기 쓰기 신호에 따라 상기 증폭부와 상기 데이터 저장부를 선택적으로 차단하는 차단부를 더 포함하는 LUT
|
6 |
6
청구항 1에 있어서, 상기 쓰기 제어부는 상기 데이터 저장부의 양단에 연결된 제 1 쓰기 제어부와 제 2 쓰기 제어부를 포함하고,상기 쓰기 신호가 활성화되는 경우 상기 제 1 쓰기 제어부와 상기 제 2 쓰기 제어부는 상기 데이터 신호에 따라 상기 데이터 저장부에 흐르는 쓰기 전류의 방향을 조정하는 LUT
|
7 |
7
다수의 어플리케이션에 대응하는 다수의 비휘발성 메모리 소자를 포함하되, 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자 중 어느 하나의 비휘발성 메모리 소자를 선택하고 디코더에서 출력되는 활성화 신호에 따라 상기 어느 하나의 비휘발성 메모리 소자에 저장된 정보를 출력하고 쓰기 신호에 따라 데이터 신호에 대응하는 정보를 상기 어느 하나의 비휘발성 메모리 소자에 프로그램하는 LUT를 포함하는 FPGA
|
8 |
8
청구항 7에 있어서, 상기 LUT는다수의 어플리케이션에 대응하는 다수의 비휘발성 메모리 소자를 포함하고 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자 중 어느 하나의 비휘발성 메모리 소자를 선택하는 데이터 저장부;상기 디코더에서 출력되는 활성화 신호에 따라 상기 어느 하나의 비휘발성 메모리 소자에 저장된 정보를 증폭하는 증폭부; 및상기 쓰기 신호에 따라 데이터 신호에 대응하는 정보를 상기 어느 하나의 비휘발성 메모리 소자에 프로그램하는 쓰기 제어부를 포함하는 FPGA
|
9 |
9
청구항 8에 있어서,기준 비휘발성 메모리 소자를 포함하는 기준 데이터 저장부를 더 포함하고,상기 증폭부는 상기 어느 하나의 비휘발성 메모리 소자와 상기 기준 비휘발성 메모리 소자의 정보 차이를 증폭하는 FPGA
|
10 |
10
청구항 8에 있어서, 상기 데이터 저장부는 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 증폭부에 선택적으로 연결하는 다수의 제 1 선택 스위치와 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 쓰기 제어부에 선택적으로 연결하는 다수의 제 2 선택 스위치를 포함하는 FPGA
|
11 |
11
청구항 8에 있어서, 상기 쓰기 제어부는 상기 데이터 저장부의 양단에 연결된 제 1 쓰기 제어부와 제 2 쓰기 제어부를 포함하고,상기 쓰기 신호가 활성화되는 경우 상기 제 1 쓰기 제어부와 상기 제 2 쓰기 제어부는 상기 데이터 신호에 따라 상기 데이터 저장부에 흐르는 쓰기 전류의 방향을 조정하는 FPGA
|
12 |
12
다수의 어플리케이션 각각에 대해서 FPGA를 구성하는 블록들을 결정하는 제 1 단계;상기 다수의 어플리케이션 모두를 수용할 수 있는 FPGA의 크기를 결정하는 제 2 단계; 및상기 결정된 크기의 FPGA의 블록 어레이에 상기 다수의 어플리케이션을 위한 블록들을 배치하는 제 3 단계;를 포함하는 FPGA 디자인 방법
|
13 |
13
청구항 12에 있어서, 상기 블록들은 CLB 단위, 패드 단위 또는 메모리 단위의 블록을 포함하는 FPGA 디자인 방법
|
14 |
14
청구항 12에 있어서, 상기 제 1 단계는상기 다수의 어플리케이션 각각에 대해서 캐드 정보를 입력받는 단계;상기 캐드 정보로부터 게이트 레벨 넷-리스트를 생성하는 단계;상기 게이트 레벨 넷-리스트로부터 LUT 레벨 넷-리스트를 생성하는 단계; 및상기 LUT 레벨 넷-리스트에 포함된 LUT들을 CLB 단위의 블록으로 묶는 단계를 포함하는 FPGA 디자인 방법
|
15 |
15
청구항 14에 있어서, 상기 CLB 단위의 블록으로 묶는 단계는 패드 단위의 블록과 메모리 단위의 블록을 결정하는 단계를 더 포함하는 FPGA 디자인 방법
|
16 |
16
청구항 12에 있어서, 상기 제 2 단계는상기 FPGA의 크기를 초기화하는 단계; 및상기 다수의 어플리케이션을 위한 CLB 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계를 포함하는 FPGA 디자인 방법
|
17 |
17
청구항 16에 있어서,상기 다수의 어플리케이션을 위한 패드 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계를 더 포함하는 FPGA 디자인 방법
|
18 |
18
청구항 16에 있어서,상기 다수의 어플리케이션을 위한 메모리 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계를 더 포함하는 FPGA 디자인 방법
|
19 |
19
청구항 12에 있어서, 상기 제 3 단계는상기 블록 어레이에 상기 다수의 어플리케이션 중 어느 하나의 어플리케이션을 위한 블록을 임의로 배치하고 기존에 배치가 완료된 어플리케이션들 중에서 상기 어느 하나의 어플리케이션을 위한 블록들을 중첩적으로 사용하는 어플리케이션들의 총 개수인 제 1 개수를 결정하는 제 3-1 단계;상기 어느 하나의 어플리케이션을 위한 블록의 위치를 조정한 후 기존에 배치가 완료된 어플리케이션들 중에서 상기 어느 하나의 어플리케이션을 위한 블록들을 중첩적으로 사용하는 어플리케이션들의 총 개수인 제 2 개수를 결정하는 제 3-2 단계; 및상기 제 1 개수와 상기 제 2 개수를 비교하여 상기 제 1 개수가 상기 제 2 개수 미만인 경우 위치 변경을 무효화하고 상기 제 3-2 단계를 반복하고 상기 제 1 개수가 상기 제 2 개수 이상인 경우 상기 어느 하나의 어플리케이션을 위한 블록의 배치를 완료하는 제 3-3 단계를 포함하는 FPGA 디자인 방법
|
20 |
20
청구항 19에 있어서, 상기 제 3-1 단계는 상기 어느 하나의 애플리케이션을 위한 최대 지연량에 대응하는 제 1 지연을 더 결정하고, 상기 제 3-2 단계는 상기 블록의 위치를 조정한 후 상기 어느 하나의 어플리케이션을 위한 최대 지연량에 대응하는 제 2 지연을 더 결정하고, 상기 제 3-3 단계는 상기 제 1 지연이 상기 제 2 지연보다 작은 경우 위치 변경을 무효화하는 FPGA 디자인 방법
|
21 |
21
청구항 20에 있어서, 상기 제 3-3 단계는 상기 제 1 지연이 상기 제 2 지연보다 큰 경우 상기 제 1 개수와 상기 제 2 개수를 비교하는 FPGA 디자인 방법
|
22 |
22
청구항 19에 있어서, 상기 제 3-3 단계는 상기 제 1 개수가 상기 제 2 개수 이상인 경우 상기 제 1 지연과 상기 제 2 지연을 비교하고 상기 제 1 지연이 상기 제 2 지연 미만인 경우 상기 어느 하나의 어플리케이션을 위한 블록의 배치를 완료하는 FPGA 디자인 방법
|
23 |
23
청구항 19에 있어서, 상기 다수의 어플리케이션 각각에 대해서 상기 제 1 단계 내지 제 3 단계를 반복하여 수행하는 FPGA 디자인 방법
|
24 |
24
청구항 12에 있어서, 상기 다수의 어플리케이션 각각에 대응하는 라우팅 작업을 수행하는 단계를 더 포함하는 FPGA 디자인 방법
|