KR102409505B1 - 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 - Google Patents
비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 Download PDFInfo
- Publication number
- KR102409505B1 KR102409505B1 KR1020170177688A KR20170177688A KR102409505B1 KR 102409505 B1 KR102409505 B1 KR 102409505B1 KR 1020170177688 A KR1020170177688 A KR 1020170177688A KR 20170177688 A KR20170177688 A KR 20170177688A KR 102409505 B1 KR102409505 B1 KR 102409505B1
- Authority
- KR
- South Korea
- Prior art keywords
- fpga
- applications
- blocks
- memory devices
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 의한 LUT의 회로도.
도 3은 도 2의 단위 셀의 회로도.
도 4는 본 발명의 일 실시예에 의한 FPGA 디자인 방법을 나타낸 순서도.
도 5는 도 4의 크기 선택 방법을 구체적으로 나타낸 순서도.
도 6은 도 4의 블록 배치 방법을 구체적으로 나타낸 순서도.
도 7은 도 6의 블록 배치 방법을 설명하는 설명도.
20: 스위치 어레이
1000: LUT
100-1, 100-2, 100-3, 100-4: 단위 셀
110: 데이터 저장부
120: 기준 데이터 저장부
130: 증폭부
140: 접지부
150: 차단부
161: 제 1 데이터 출력부
162: 제 2 데이터 출력부
170: 제 1 쓰기 제어부
180: 제 2 쓰기 제어부
200: 디코더
Claims (24)
- 다수의 어플리케이션에 대응하는 다수의 비휘발성 메모리 소자를 포함하고 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자 중 어느 하나의 비휘발성 메모리 소자를 선택하는 데이터 저장부;
디코더에서 출력되는 활성화 신호에 따라 상기 어느 하나의 비휘발성 메모리 소자에 저장된 정보를 증폭하는 증폭부; 및
쓰기 신호에 따라 데이터 신호에 대응하는 정보를 상기 어느 하나의 비휘발성 메모리 소자에 프로그램하는 쓰기 제어부
를 포함하되,
상기 데이터 저장부는 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 증폭부에 선택적으로 연결하는 다수의 제 1 선택 스위치와 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 쓰기 제어부에 선택적으로 연결하는 다수의 제 2 선택 스위치를 포함하는 LUT. - 청구항 1에 있어서,
기준 비휘발성 메모리 소자를 포함하는 기준 데이터 저장부를 더 포함하고,
상기 증폭부는 상기 어느 하나의 비휘발성 메모리 소자와 상기 기준 비휘발성 메모리 소자에 저장된 정보의 차이에 대응하는 신호 차이를 증폭하는 LUT. - 삭제
- 청구항 1에 있어서, 상기 증폭부의 출력을 버퍼링하는 데이터 출력부를 더 포함하는 LUT.
- 청구항 1에 있어서, 상기 쓰기 신호에 따라 상기 증폭부와 상기 데이터 저장부를 선택적으로 차단하는 차단부를 더 포함하는 LUT.
- 청구항 1에 있어서, 상기 쓰기 제어부는 상기 데이터 저장부의 양단에 연결된 제 1 쓰기 제어부와 제 2 쓰기 제어부를 포함하고,
상기 쓰기 신호가 활성화되는 경우 상기 제 1 쓰기 제어부와 상기 제 2 쓰기 제어부는 상기 데이터 신호에 따라 상기 데이터 저장부에 흐르는 쓰기 전류의 방향을 조정하는 LUT. - 다수의 어플리케이션에 대응하는 다수의 비휘발성 메모리 소자를 포함하고 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자 중 어느 하나의 비휘발성 메모리 소자를 선택하는 데이터 저장부;
디코더에서 출력되는 활성화 신호에 따라 상기 어느 하나의 비휘발성 메모리 소자에 저장된 정보를 증폭하는 증폭부; 및
쓰기 신호에 따라 데이터 신호에 대응하는 정보를 상기 어느 하나의 비휘발성 메모리 소자에 프로그램하는 쓰기 제어부
를 포함하되,
상기 데이터 저장부는 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 증폭부에 선택적으로 연결하는 다수의 제 1 선택 스위치와 상기 어플리케이션 선택 신호에 따라 상기 다수의 비휘발성 메모리 소자를 상기 쓰기 제어부에 선택적으로 연결하는 다수의 제 2 선택 스위치
를 포함하는 FPGA. - 삭제
- 청구항 7에 있어서,
기준 비휘발성 메모리 소자를 포함하는 기준 데이터 저장부를 더 포함하고,
상기 증폭부는 상기 어느 하나의 비휘발성 메모리 소자와 상기 기준 비휘발성 메모리 소자의 정보 차이를 증폭하는 FPGA. - 삭제
- 청구항 7에 있어서, 상기 쓰기 제어부는 상기 데이터 저장부의 양단에 연결된 제 1 쓰기 제어부와 제 2 쓰기 제어부를 포함하고,
상기 쓰기 신호가 활성화되는 경우 상기 제 1 쓰기 제어부와 상기 제 2 쓰기 제어부는 상기 데이터 신호에 따라 상기 데이터 저장부에 흐르는 쓰기 전류의 방향을 조정하는 FPGA. - 다수의 어플리케이션을 선택적으로 실행하기 위하여 미리 프로그램 되는 다수의 비휘발성 메모리 소자를 포함하는 FPGA의 디자인 방법으로서,
상기 다수의 어플리케이션 각각에 대해서 FPGA를 구성하는 블록들을 결정하는 제 1 단계;
상기 다수의 어플리케이션 모두를 수용할 수 있는 FPGA의 크기를 결정하는 제 2 단계; 및
상기 결정된 크기의 FPGA의 블록 어레이에 상기 다수의 어플리케이션을 위한 블록들을 배치하는 제 3 단계;
를 포함하는 FPGA 디자인 방법. - 청구항 12에 있어서, 상기 블록들은 CLB 단위, 패드 단위 또는 메모리 단위의 블록을 포함하는 FPGA 디자인 방법.
- 청구항 12에 있어서, 상기 제 1 단계는
상기 다수의 어플리케이션 각각에 대해서 캐드 정보를 입력받는 단계;
상기 캐드 정보로부터 게이트 레벨 넷-리스트를 생성하는 단계;
상기 게이트 레벨 넷-리스트로부터 LUT 레벨 넷-리스트를 생성하는 단계; 및
상기 LUT 레벨 넷-리스트에 포함된 LUT들을 CLB 단위의 블록으로 묶는 단계
를 포함하는 FPGA 디자인 방법 - 청구항 14에 있어서, 상기 CLB 단위의 블록으로 묶는 단계는 패드 단위의 블록과 메모리 단위의 블록을 결정하는 단계를 더 포함하는 FPGA 디자인 방법.
- 청구항 12에 있어서, 상기 제 2 단계는
상기 FPGA의 크기를 초기화하는 단계; 및
상기 다수의 어플리케이션에 대응하는 다수의 CLB 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계
를 포함하는 FPGA 디자인 방법. - 청구항 16에 있어서,
상기 다수의 어플리케이션에 대응하는 다수의 패드 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계를 더 포함하는 FPGA 디자인 방법. - 청구항 16에 있어서,
상기 다수의 어플리케이션에 대응하는 다수의 메모리 단위의 블록 개수 중 최대값을 수용할 수 있을 때까지 상기 FPGA의 크기를 증가시키는 단계를 더 포함하는 FPGA 디자인 방법. - 청구항 12에 있어서, 상기 제 3 단계는
상기 블록 어레이에 상기 다수의 어플리케이션 중 어느 하나의 어플리케이션을 위한 블록을 임의로 배치하고 기존에 배치가 완료된 어플리케이션들 중에서 상기 어느 하나의 어플리케이션을 위한 블록들을 중첩적으로 사용하는 어플리케이션들의 총 개수인 제 1 개수를 결정하는 제 3-1 단계;
상기 어느 하나의 어플리케이션을 위한 블록의 위치를 조정한 후 기존에 배치가 완료된 어플리케이션들 중에서 상기 어느 하나의 어플리케이션을 위한 블록들을 중첩적으로 사용하는 어플리케이션들의 총 개수인 제 2 개수를 결정하는 제 3-2 단계; 및
상기 제 1 개수와 상기 제 2 개수를 비교하여 상기 제 1 개수가 상기 제 2 개수 미만인 경우 위치 변경을 무효화하고 상기 제 3-2 단계를 반복하고 상기 제 1 개수가 상기 제 2 개수 이상인 경우 상기 어느 하나의 어플리케이션을 위한 블록의 배치를 완료하는 제 3-3 단계
를 포함하는 FPGA 디자인 방법. - 청구항 19에 있어서, 상기 제 3-1 단계는 상기 어느 하나의 애플리케이션을 위하여 배치된 블록들을 통과하는데 걸리는 시간에 대응하는 제 1 지연을 더 결정하고, 상기 제 3-2 단계는 상기 블록의 위치를 조정한 후 상기 어느 하나의 어플리케이션을 위하여 위치가 조정되어 배치된 블록들을 통과하는데 걸리는 시간에 대응하는 제 2 지연을 더 결정하고, 상기 제 3-3 단계는 상기 제 1 지연이 상기 제 2 지연보다 작은 경우 위치 변경을 무효화하는 FPGA 디자인 방법.
- 청구항 20에 있어서, 상기 제 3-3 단계는 상기 제 1 지연이 상기 제 2 지연보다 큰 경우 상기 제 1 개수와 상기 제 2 개수를 비교하는 FPGA 디자인 방법.
- 청구항 21에 있어서, 상기 제 3-3 단계는 상기 제 1 개수가 상기 제 2 개수 이상인 경우 상기 제 1 지연과 상기 제 2 지연을 비교하고 상기 제 1 지연이 상기 제 2 지연 미만인 경우 상기 어느 하나의 어플리케이션을 위한 블록의 배치를 완료하는 FPGA 디자인 방법.
- 청구항 19에 있어서, 상기 다수의 어플리케이션 각각에 대해서 상기 제 1 단계 내지 제 3 단계를 반복하여 수행하는 FPGA 디자인 방법.
- 청구항 12에 있어서, 상기 다수의 어플리케이션 각각에 대응하는 라우팅 작업을 수행하는 단계를 더 포함하는 FPGA 디자인 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170177688A KR102409505B1 (ko) | 2017-12-22 | 2017-12-22 | 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 |
US16/107,906 US10419000B2 (en) | 2017-12-22 | 2018-08-21 | Look up table including a nonvolatile memory element, FPGA including the look up table, and method for designing the FPGA |
US16/533,596 US10924117B2 (en) | 2017-12-22 | 2019-08-06 | Method for designing an FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170177688A KR102409505B1 (ko) | 2017-12-22 | 2017-12-22 | 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190076134A KR20190076134A (ko) | 2019-07-02 |
KR102409505B1 true KR102409505B1 (ko) | 2022-06-14 |
Family
ID=66949674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170177688A Active KR102409505B1 (ko) | 2017-12-22 | 2017-12-22 | 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10419000B2 (ko) |
KR (1) | KR102409505B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210130470A (ko) * | 2020-04-22 | 2021-11-01 | 에스케이하이닉스 주식회사 | 활성화 함수 처리 방법, 활성화 함수 처리 회로, 및 그것을 포함하는 신경망 시스템 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542000B1 (en) | 1999-07-30 | 2003-04-01 | Iowa State University Research Foundation, Inc. | Nonvolatile programmable logic devices |
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US7093225B2 (en) * | 2002-07-17 | 2006-08-15 | Osann Robert Jr | FPGA with hybrid interconnect |
US6954085B2 (en) * | 2003-10-13 | 2005-10-11 | International Business Machines Corporation | System and method for dynamically executing a function in a programmable logic array |
WO2005119532A2 (en) * | 2004-06-04 | 2005-12-15 | The Regents Of The University Of California | Low-power fpga circuits and methods |
US8295082B2 (en) | 2008-08-15 | 2012-10-23 | Qualcomm Incorporated | Gate level reconfigurable magnetic logic |
KR20110057601A (ko) * | 2009-11-24 | 2011-06-01 | 삼성전자주식회사 | 비휘발성 논리 회로, 상기 비휘발성 논리 회로를 포함하는 집적 회로 및 상기 집적 회로의 동작 방법 |
KR101660409B1 (ko) * | 2010-08-03 | 2016-09-28 | 삼성전자주식회사 | 룩-업 테이블 회로 |
US9152748B2 (en) * | 2011-05-06 | 2015-10-06 | Xcelemor, Inc. | Computing system with switching mechanism and method of operation thereof |
KR101802945B1 (ko) * | 2011-06-27 | 2017-12-29 | 삼성전자주식회사 | 논리 장치 및 이를 포함하는 반도체 패키지 |
US9335977B2 (en) * | 2011-07-28 | 2016-05-10 | National Instruments Corporation | Optimization of a data flow program based on access pattern information |
FR2990089B1 (fr) * | 2012-04-27 | 2014-04-11 | Commissariat Energie Atomique | Dispositif logique reprogrammable resistant aux rayonnements. |
US9298438B2 (en) * | 2012-06-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Profiling application code to identify code portions for FPGA implementation |
KR101920719B1 (ko) * | 2012-11-19 | 2019-02-13 | 삼성전자주식회사 | 논리 장치, 논리 장치를 포함하는 디지털 필터 및 논리 장치를 제어하는 방법 |
US10454480B2 (en) * | 2016-08-03 | 2019-10-22 | Silicon Mobility | Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment |
-
2017
- 2017-12-22 KR KR1020170177688A patent/KR102409505B1/ko active Active
-
2018
- 2018-08-21 US US16/107,906 patent/US10419000B2/en active Active
-
2019
- 2019-08-06 US US16/533,596 patent/US10924117B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20190076134A (ko) | 2019-07-02 |
US20190363718A1 (en) | 2019-11-28 |
US10419000B2 (en) | 2019-09-17 |
US20190199353A1 (en) | 2019-06-27 |
US10924117B2 (en) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102245385B1 (ko) | 자기 소자를 포함하는 lut, 이를 포함하는 fpga 및 기술 매핑 방법 | |
US10043581B2 (en) | Memory circuit capable of implementing calculation operations | |
US7196942B2 (en) | Configuration memory structure | |
US10847212B1 (en) | Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers | |
US8279660B2 (en) | Static random-access memory with boosted voltages | |
US10847213B1 (en) | Write data processing circuits and methods associated with computational memory cells | |
KR20150132482A (ko) | Fpga 상호접속에서 세분화된 파워 게이팅 | |
Tian et al. | A field programmable transistor array featuring single-cycle partial/full dynamic reconfiguration | |
Khaleghi et al. | A resistive RAM-based FPGA architecture equipped with efficient programming circuitry | |
KR102409505B1 (ko) | 비휘발성 메모리 소자를 포함하는 lut, lut를 포함하는 fpga 및 fpga 디자인 방법 | |
JP7114096B2 (ja) | メモリ回路デバイス及びその使用方法 | |
US7319619B1 (en) | Programmable logic device memory blocks with adjustable timing | |
US6185126B1 (en) | Self-initializing RAM-based programmable device | |
Guillemenet et al. | On the Use of Magnetic RAMs in Field‐Programmable Gate Arrays | |
US10262732B2 (en) | Programmable array logic circuit and operating method thereof | |
JP5328938B2 (ja) | 集積回路の入力ポートにおける消費電力を低減するための回路および方法 | |
US7236411B1 (en) | Programmable memory access parameters | |
US6680871B1 (en) | Method and apparatus for testing memory embedded in mask-programmable logic device | |
US20160277029A1 (en) | Reconfigurable logic device | |
US7663401B1 (en) | Multiplexer initialization systems and methods | |
EP3416171B1 (en) | Integrated circuits with complementary non-volatile resistive memory elements | |
EP1547248A2 (en) | High speed zero dc power programmable logic device (pld) architecture | |
US10191661B1 (en) | Lutram dummy read scheme during error detection and correction | |
KR102499712B1 (ko) | 룩업 테이블 회로 | |
JPH087585A (ja) | 不揮発性メモリ用計数終了検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20171222 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20201204 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20171222 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220125 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220509 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220610 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220610 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20250527 Start annual number: 4 End annual number: 4 |