KR101297754B1 - 메모리 컴파일링 시스템 및 컴파일링 방법 - Google Patents

메모리 컴파일링 시스템 및 컴파일링 방법 Download PDF

Info

Publication number
KR101297754B1
KR101297754B1 KR1020060065045A KR20060065045A KR101297754B1 KR 101297754 B1 KR101297754 B1 KR 101297754B1 KR 1020060065045 A KR1020060065045 A KR 1020060065045A KR 20060065045 A KR20060065045 A KR 20060065045A KR 101297754 B1 KR101297754 B1 KR 101297754B1
Authority
KR
South Korea
Prior art keywords
memory
layout
word lines
cell array
input
Prior art date
Application number
KR1020060065045A
Other languages
English (en)
Other versions
KR20080006201A (ko
Inventor
심성훈
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060065045A priority Critical patent/KR101297754B1/ko
Priority to US11/819,389 priority patent/US7788619B2/en
Publication of KR20080006201A publication Critical patent/KR20080006201A/ko
Application granted granted Critical
Publication of KR101297754B1 publication Critical patent/KR101297754B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits
    • H01L27/11898Input and output buffer/driver structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

메모리의 레이아웃을 컴퓨터 구현에 의해 컴파일링하는 방법은, 메모리의 사양을 입력하고, 상기 메모리의 사양에 근거해서 입/출력 패드의 배치 구조를 결정하며, 그리고 상기 결정된 입/출력 패드 배치 구조에 따라서 메모리의 레이아웃을 생성한다. 이와 같은 본 발명의 컴파일링 방법은 요구되는 메모리 사양에 따라서 최적의 속도로 동작하고, 최소의 크기를 갖도록 메모리를 컴파일링할 수 있다.

Description

메모리 컴파일링 시스템 및 컴파일링 방법{MEMORY COMPILING SYSTEM AND COMPILING METHOD THEREOF}
도 1은 본 발명의 바람직한 실시예에 따른 컴파일가능한 메모리를 포함하는 SOC(System On a Chip)의 일 예를 보여주는 도면;
도 2는 본 발명의 바람직한 실시예에 따른 컴퓨터 기반 메모리 컴파일링 방법에 의해서 설계되는 제1 메모리 레이아웃의 일 예를 보여주는 도면;
도 3은 워드라인의 수가 소정 개수보다 많을 때 본 발명의 바람직한 실시예에 따른 컴퓨터 기반 메모리 컴파일링 방법에 의해서 설계되는 제2 메모리 레이아웃의 일 예를 보여주는 도면;
도 4는 본 발명의 바람직한 실시예에 따른 메모리 컴파일링 시스템의 구성을 보여주는 도면;
도 5는 도 4에 도시된 메모리 컴파일링 시스템의 제어 수순을 보여주는 플로우차트;
도 6은 도 3에 도시된 입출력 패드 중앙 배치 구조에서 워드라인의 수에 따른 뱅크들의 크기 변화를 보여주는 도면;
도 7은 워드라인의 수가 32이하일 때 행 디코더들의 구성 예를 보여주는 도면; 그리고
도 8은 워드라인의 수가 32보다 클 때 행 디코더들의 구성 예를 보여주는 도면이다.
본 발명은 반도체 장치에 관한 것으로, 특히 컴파일가능한 메모리에 관한 것이다.
주문형 집적 회로(ASIC)는 특정 태스크를 수행하여 고객의 응용의 요구를 충족시키도록 설계된 논리 회로 및 메모리 회로의 집합이다. ASIC 설계는 논리 함수를 미리 설계되고 미리 검증된 일군의 논리 회로에 매핑함으로써 실리콘 다이 상에서 구현된다. 이들 회로는 가장 단순한 기능에서부터 SOC(system on a chip)라 불리는 고도의 복잡한 회로에까지 이른다. SOC는 마이크로프로세서, 디지털 신호 프로세서, 메모리 등과 같은 복수의 기능 회로들을 단일 칩으로 구비한다.
일반적으로, SOC 등에 구비되는 메모리는 컴파일가능하도록 설계된다. 즉, 메모리 어레이의 파라미터는 특정 설계의 요건을 충족하도록 주문 제작될 수 있다. 컴파일가능한(compilable) 메모리는 설계에 있어 워드라인의 수 및 워드라인의 폭 등의 파라미터를 특정할 수 있게 한다. 따라서 하나의 메모리는 다양한 응용을 위한 메모리 구조를 제공할 수 있다.
한편, 캐쉬 메모리 등과 같은 메모리는 동작 속도를 더욱 빠르게 할 수 있는 구조(architecture)로 설계된다. 그러나, 동작 속도의 향상을 위해 필요한 구성 요소들은 메모리의 크기를 증가시키기도 한다. 메모리 크기의 증가는 메모리를 포함하는 SOC의 제조 비용 상승을 초래한다.
따라서 본 발명의 목적은 최적의 속도로 동작하고, 최소의 크기를 갖도록 메모리를 컴파일할 수 있는 메모리 컴파일링 시스템을 제공하는데 있다.
본 발명의 다른 목적은 메모리 셀의 크기에 따라서 최적의 레이아웃을 생성하는 메모리 컴파일링 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 메모리의 레이아웃을 컴퓨터 구현에 의해 컴파일링하는 방법은: 메모리의 사양을 입력하는 단계와, 상기 메모리의 사양에 근거해서 입/출력 패드의 배치 구조를 결정하는 단계, 그리고 상기 결정된 입/출력 패드 배치 구조에 따라서 메모리의 레이아웃을 생성하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 메모리의 사양은 워드라인의 수를 포함한다.
상기 배치 구조를 결정하는 단계는, 상기 워드라인의 수가 N 개 이하일 때 상기 입/출력 패드가 상기 메모리의 일측에 배열되는 제1 레이아웃을 선택하는 단계를 포함한다.
상기 제1 레이아웃이 선택될 때 상기 메모리의 레이아웃을 생성하는 단계는, 각각이 복수 개의 워드라인들, 복수 개의 비트 라인들 그리고 상기 워드라인들과 상기 비트라인들의 교차 영역들에 배열된 복수 개의 메모리 셀들을 갖는 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계와, 행 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되는 행 디코더 영역을 생성하는 단계와, 상기 메모리 셀 어레이 뱅크들의 일측에 상기 입/출력 패드를 배치하기 위한 입/출력 패드 영역을 생성하는 단계, 그리고 상기 메모리 셀 어레이 뱅크와 상기 입/출력 패드 영역 사이에 배치되는 감지 증폭 영역을 생성하는 단계를 포함한다.
상기 배치 구조를 결정하는 단계는, 상기 워드라인의 수가 상기 N개 이상일 때 상기 입/출력 패드가 상기 메모리의 중심 영역에 배열되는 제2 레이아웃을 선택하는 단계를 포함한다.
상기 제2 레이아웃이 선택될 때 상기 메모리의 레이아웃을 생성하는 단계는, 행들과 열들로 배열되며, 각각이 복수 개의 워드라인들, 복수 개의 비트 라인들 그리고 상기 워드라인들과 상기 비트라인들의 교차 영역들에 배열된 복수 개의 메모리 셀들을 갖는 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계, 행 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되는 행 디코더 영역들을 생성하는 단계, 열 방향으로, 상기 메모리 셀 어레이 뱅크들의 일측에 상기 입/출력 패드를 배치하기 위한 입/출력 패드 영역을 생성하는 단계, 그리고 각각이 상기 메모리 셀 어레이 뱅크들에 대응하고, 각각이 상기 대응하는 메모리 셀 어레이 뱅크와 상기 입/출력 패드 영역 사이에 배치되는 복수의 감지 증폭 영역들을 생성하는 단계를 포함한다.
상기 제2 레이아웃이 선택될 때 상기 워드라인의 수가 N*2보다 작으면 상기 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계는, 상기 입/출력 패드 영역의 상측에 배열되는 제1 메모리 셀 어레이 뱅크 영역들에 N개의 워드라인들을 배치하는 단계, 그리고 상기 입/출력 패드 영역의 하측에 배열되는 제2 메모리 셀 어레이 뱅크 영역들에 나머지 워드라인들을 배치하는 단계를 포함한다.
상기 제2 레이아웃이 선택될 때 상기 워드라인의 수가 N*2보다 크면 상기 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계는, 상기 입/출력 패드 영역의 상측에 배열되는 제1 메모리 셀 어레이 뱅크 영역들에 배치되는 워드라인들의 수와 상기 입/출력 패드 영역의 하측에 배열되는 제2 메모리 셀 어레이 뱅크 영역들에 배치되는 워드라인의 수 사이의 차는 최대 4이다.
본 발명의 다른 특징에 따른 메모리를 컴파일링하기 위한 컴퓨터 기초형 메모리 설계 시스템은: 상기 메모리에 대한 사양 소스와, 상기 메모리를 구성하는 복수의 소자 라이브러리들을 저장하는 데이터 베이스, 그리고 상기 사양 소스에 근거해서 상기 데이터 베이스에 저장된 상기 복수의 소자 라이브러리들을 배열하여 메모리 레이아웃을 생성하는 메모리 구성기를 포함한다.
상기 메모리 구성기는, 상기 사양 소스에 포함된 워드라인의 수에 따라서 상기 메모리 레이아웃의 입/출력 패드 배치 구조를 결정한다.
상기 메모리 구성기는, 상기 워드라인의 수가 소정 개수 이하일 때 상기 입/출력 패드가 상기 메모리의 일측에 배열되는 제1 레이아웃으로 상기 메모리의 레이아웃을 생성한다.
상기 메모리 구성기는, 상기 워드라인의 수가 소정 개수보다 클 때 상기 입/ 출력 패드가 상기 메모리의 중심에 배열되는 제2 레이아웃으로 상기 메모리의 레이아웃을 생성한다.
본 발명의 다른 특징에 따른 요구되는 워드라인의 수가 N보다 클 때 컴퓨터 구현에 의해 컴파일되는 메모리는: 각각이 복수 개의 워드라인들, 복수 개의 비트라인들 그리고 상기 워드라인들과 상기 비트라인들의 교차 영역들에 배열된 복수 개의 메모리 셀들을 갖는 복수의 메모리 셀 어레이 뱅크들과, 행 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되고, 상기 복수 개의 워드라인들중 외부로부터 입력되는 행 어드레스 신호들에 대응하는 워드라인을 활성화하는 복수의 행 디코더들, 그리고 열 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되는 입/출력 패드들을 포함한다.
상기 행 디코더는, 상기 메모리 셀 어레이 뱅크들의 크기에 따라서 상기 외부로부터 입력되는 행 어드레스 신호들의 순열을 변경하여 입력받는다.
상기 워드라인의 수가 N*2보다 작을 때, 상기 입/출력 패드의 상측에 배열되는 제1 메모리 셀 어레이 뱅크들은 N개의 워드라인들을 포함하고, 상기 입/출력 패드의 하측에 배열되는 제2 메모리 셀 어레이 뱅크들은 나머지 워드라인들을 포함한다.
상기 워드라인의 수가 N*2보다 클 때 상기 입/출력 패드의 상측에 배열되는 제1 메모리 셀 어레이 뱅크들에 포함되는 워드라인들의 수와 상기 입/출력 패드 영역의 하측에 배열되는 제2 메모리 셀 어레이 뱅크들에 포함되는 워드라인의 수 사이의 차는 최대 4이다.
상기 행 어드레스 신호들은 뱅크 선택 신호를 포함하며, 상기 입/출력 패드의 상측에 배열되는 상기 제1 메모리 셀 어레이 뱅크들에 대응하는 행 디코더는, 상기 뱅크 선택 신호가 제1 레벨일 때 상기 제1 메모리 셀 어레이 뱅크들에 포함되는 상기 워드라인들 중 어느 하나를 활성화시킨다. 상기 입/출력 패드의 하측에 배열되는 상기 제2 메모리 셀 어레이 뱅크들에 대응하는 행 디코더는, 상기 뱅크 선택 신호가 제2 레벨일 때 상기 제2 메모리 셀 어레이 뱅크들에 포함되는 상기 워드라인들 중 어느 하나를 활성화시킨다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 컴파일가능한 메모리를 포함하는 SOC(System On a Chip)의 일 예를 보여주는 도면이다.
도 1을 참조하면, SOC(100)는 입출력 인터페이스(111), 프로세서(120), 메모리(130), IP 블록들(140, 150) 그리고 DMA(Direct Memory Access, 160)를 포함한다. IP 블록들(140, 150)에는 ROM(Read Only Memory), PLL(phase Lock Loop) 등과 같은 주변 회로들이 포함된다.
본 발명의 바람직한 실시예에서 메모리(130)는 컴파일가능한 메모리로서, 외부로부터 입력된 메모리 사양(specificaiton)에 따라서 컴퓨터에 의해서 메모리의 레이아웃이 설계된다. 컴파일가능한 메모리(130)는 SRAM, DRAM, 플래시 메모리 등과 같이 메모리 사이즈에 따라서 메모리 레이아웃을 효율적으로 배치할 수 있는 컴퓨터 기반 컴파일링이 가능한 다양한 메모리들 중 어느 하나이다.
본 발명의 바람직한 실시예에 따른 컴퓨터 기반 메모리 컴파일링 방법은 외부로부터 입력된 메모리 사양에 적합하도록 메모리의 레이아웃을 생성하되, 메모리의 고속 동작에 적합하고, 메모리 크기를 최소화할 수 있도록 메모리의 레이아웃을 생성한다.
특히, 본 발명의 메모리 컴파일링 방법은, 메모리에 포함되는 워드라인의 수가 소정 개수 이하일 때 회로 면적의 최소화를 위하여 데이터 입출력 회로 및 패드들을 메모리 셀 어레이의 일측에 배열하는 제1 레이아웃을 생성하고, 메모리에 포함되는 워드라인의 수가 소정 개수보다 클 때 데이터 입출력 회로 및 패드들을 메모리 셀 어레이들의 중심에 배열하는 제2 레이아웃을 생성함으로써 메모리의 동작 속도를 향상시킨다.
도 2는 본 발명의 바람직한 실시예에 따른 컴퓨터 기반 메모리 컴파일링 방법에 의해서 설계되는 제1 메모리 레이아웃의 일 예를 보여주고 있다.
도 2를 참조하면, 메모리(200)는, 두 개의 메모리 셀 어레이 뱅크들(210, 212), 멀티플렉서 및 감지 증폭기들(220, 222), 입출력 회로 및 패드들(230, 232), 행 디코더(240) 그리고 제어 로직(250)을 포함한다. 뱅크들(210, 212) 각각은 복수 개의 행들 및 열들로 배열된 메모리 셀들을 포함한다.
행 디코더(240)는 행 방향으로 배열된 메모리 셀 어레이 뱅크들(210, 212) 사이의 영역에 배치된다. 하나의 워드 라인은 행 방향으로 신장되어서 두 개의 뱅크들(210, 212) 내 메모리 셀들과 연결된다.
행 방향으로 배열된 메모리 셀 어레이 뱅크들(210, 212)의 일측에는 멀티플 렉서 및 감지 증폭기들(220, 222)이 각각 배치된다. 멀티플렉서 및 감지 증폭기들(220, 222)의 뱅크들(210, 212)과 인접하지 않은 다른 일측에는 데이터 입출력 회로 및 패드들(230, 232)이 각각 배치된다.
데이터 입출력 회로 및 패드들(230, 232)의 사이의 영역에 제어 로직(250)이 배열된다. 제어 로직(250)은 메모리(200)의 동작에 필요한 여러가지 신호들(예컨대, 클럭 신호들, 제어 신호들)을 발생한다. 제어 로직(250)에는 행 어드레스를 1차적으로 디코딩하는 프리 디코더가 더 포함될 수 있다.
도 2에 도시된 예에서, 메모리 셀 어레이 뱅크들(210, 212) 내 행의 수 즉, 워드라인의 수는 최대 16이다. 다시 말하면, 워드라인의 수가 16이하일 때 도 2에 도시된 바와 같이, 입출력 회로 및 패드들(230, 232)이 메모리 뱅크들(210, 212)의 일측에 배열된다.
일반적으로, 메모리(200) 내에서 전달되는 신호들 중 메모리 셀 어레이 뱅크들(210, 212) 내 워드라인을 통해 전달되는 신호 및 비트라인을 통해 전달되는 신호의 지연이 가장 길다. 메모리(200) 크기가 증가할수록 워드라인의 수가 많아지고, 비트라인의 길이가 길어지므로 비트라인을 통해 전달되는 신호의 지연이 커지게 된다. 워드라인의 수가 소정 개수(예컨대, 16) 이하인 경우에 비트라인을 통해 전달되는 신호의 지연은 크지 않으므로, 본 발명의 바람직한 실시예에서는 입출력 회로 및 패드들(230, 232)이 메모리 뱅크들(210, 212)의 일측에 배열함으로써 멀티플렉서 및 감지 증폭기에 의한 회로 면적의 증가를 최소화한다. 반면, 워드라인의 수가 소정 개수보다 많을 때 메모리는 도 3에 도시된 바와 같이 레이아웃된다.
도 3은 워드라인의 수가 소정 개수보다 많을 때 본 발명의 바람직한 실시예에 따른 컴퓨터 기반 메모리 컴파일링 방법에 의해서 설계되는 제2 메모리 레이아웃의 일 예를 보여주고 있다.
도 3을 참조하면, 메모리(300)는, 네 개의 메모리 셀 어레이 뱅크들(310, 312, 314, 316), 멀티플렉서 및 감지 증폭기들(320, 322, 324, 326), 입출력 회로 및 패드들(330, 332), 행 디코더들(340, 342), 그리고 제어 로직(250)을 포함한다. 뱅크들(310, 312, 314, 316) 각각은 복수 개의 행들 및 열들로 배열된 메모리 셀들을 포함한다.
행 디코더(340)는 행 방향으로 배열된 메모리 셀 어레이 뱅크들(310, 312) 사이의 영역에 배치되고, 행 디코더(342)는 행 방향으로 배열된 메모리 셀 어레이 뱅크들(314, 316) 사이의 영역에 배치된다.
열 방향으로 배열된 메모리 셀 어레이 뱅크들(310, 314)의 사이는 멀티플렉서 및 감지 증폭기들(320, 324)이 대응하는 뱅크들(310, 314)에 인접하게 각각 배치된다. 또한 열 방향으로 배열된 메모리 셀 어레이 뱅크들(312, 316)의 사이에는 멀티플렉서 및 감지 증폭기들(322, 326)이 대응하는 뱅크들(312, 316)에 인접하게 각각 배치된다.
멀티플렉서 및 감지 증폭기들(320, 324)의 사이에는 입출력 회로 및 패드들(330)이 배치되고, 멀티플렉서 및 감지 증폭기들(322, 326)의 사이에는 입출력 회로 및 패드들(332)이 배치된다.
데이터 입출력 회로 및 패드들(330, 332)의 사이의 영역에 제어 로직(350)이 배열된다. 제어 로직(350)은 메모리(200)의 동작에 필요한 여러가지 신호들(예컨대, 클럭 신호들, 제어 신호들)을 발생한다.
도 3에 도시된 예에서, 메모리 셀 어레이 뱅크들(310, 312, 314, 316) 내 행의 수(즉, 워드라인의 수)는 16보다 크고 64보다 작다. 다시 말하면, 워드라인의 수가 16이하일 때, 도 2에 도시된 바와 같이 멀티플렉서 및 감지증폭기들(220, 222) 그리고 입출력 회로 및 패드들(230, 232)이 메모리 뱅크들(210, 212)의 일측에 배열되고, 워드라인의 수가 16보다 클 때, 도 3에 도시된 바와 같이 멀티플렉서 및 감지증폭기들(220, 222) 그리고 입출력 회로 및 패드들(230, 232)이 메모리 셀 어레이 뱅크들(310, 312, 314, 416) 사이의 중심 영역에 배치된다. 하나의 워드 라인은 행 방향으로 신장되어서 두 개의 뱅크들(310, 312) 내 메모리 셀들 또는 두 개의 뱅크들(314, 316) 내 메모리 셀들과 연결된다.
메모리(300)의 크기가 크다는 것은 메모리 셀의 수가 많다는 것을 의미하는데, 메모리 셀 어레이 뱅크들을 두 개 대신 네 개로 나눔으로써 하나의 메모리 셀 어레이 뱅크 내 워드라인의 수가 감소하므로 비트라인을 통해 전달되는 신호의 지연을 최소화할 수 있다. 멀티플렉서 및 감지증폭기들 그리고 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들 사이의 중심 영역에 배치하는 방식은 도 2에 도시된 레이아웃에 비해 멀티플렉서 및 감지증폭기들에 의한 회로 면적의 증가 불가피하다. 그러나, 고속의 동작을 요구하는 메모리는 회로 면적이 다소 증가하더라도 도 3에 도시된 바와 같이 멀티플렉서 및 감지증폭기들 그리고 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들 사이의 중심 영역에 배치하는 것이 바람직하다.
본 발명 바람직한 실시예에 따른 컴파일가능한 메모리의 레이아웃 방법은 워드라인의 수에 따라서 멀티플렉서 및 감지증폭기들 그리고 입출력 회로 및 패드들의 배치 구조를 선택하여 메모리의 레이아웃을 생성할 수 있으므로, 메모리의 크기가 작을 때에는 회로 면적을 최소화하는 구조로 메모리의 레이아웃을 생성할 수 있고, 메모리의 크기가 클 때에는 빠른 동작 속도를 갖도록 메모리의 레이아웃을 생성할 수 있다.
도 4는 본 발명의 바람직한 실시예에 따른 메모리 컴파일링 시스템의 구성을 보여주고 있다. 메모리는, 메모리 구성 소자를 포함하는 하드웨어 기술 언어(hardware description language; HDL)로부터 시작하여 컴퓨터 지원 설계(compupter aided design; CAD) 단계를 거쳐 HDL이 칩 플로어 플랜(chip floor plane), 매크로 레이아웃으로 컴파일된 후 최종적으로 칩의 완전한 레이아웃으로 컴파일될 수 있다.
본 발명은 메모리에 대한 요구 사항에 따라 메모리의 용량, 입출력 데이터 폭, 등과 같은 물리적 구조를 구성하기 위한 순차적인 컴퓨터 지원 설계의 단계에 관한 것이다. 또한 본 발명의 메모리 컴파일링 시스템은 메모리의 최종 레이아웃을 형성하기 위해 다양한 메모리 매크로를 어셈블링한다.
도 4에 도시된 바와 같이, 메모리 구성기(430)는 메모리 사양(specification) 소스(410)로부터 메모리 용량, 입출력 데이터 폭, 어드레스 폭 등과 같은 메모리 사양을 수신한다. 레이아웃 데이터 베이스(420)는 메모리 레이아웃 컴파일을 위해 필요한 리프 셀들(leaf cells) 및 레이아웃 정보를 저장한다. 메모리 구성기(430)는 메모리 사양(specification) 소스(410)로부터 수신된 메모리 사양 그리고 레이아웃 데이터 베이스(420)에 저장된 리프 셀들 및 레이아웃 정보에 근거해서 메모리의 최종 레이아웃을 생성한다.
도 4에 도시된 메모리 레이아웃 컴파일러(400)는 컴퓨터 시스템으로 구현될 수 있는데, 메모리 사양 소스(410)는 컴퓨터 시스템의 키보드를 통해 입력된 정보를 저장하기 위한 레지스터, 메모리로 구성될 수 있고, 레이아웃 데이터 베이스(420)는 메모리, 하드디스크, 메모리 카드 등과 같은 저장 매체로 구성될 수 있으며, 메모리 구성기(430)는 소정의 메모리 컴파일링 프로그램 및 프로그램을 실행하는 프로세서로 구성될 수 있다.
도 5는 도 4에 도시된 메모리 레이아웃 컴파일러(400)의 제어 수순을 보여주는 플로우차트이다. 도 5를 참조하면, 단계 500에서, 사용자에 의해서 메모리 파라미터가 입력된다. 메모리 파라미터는 메모리 용량, 데이터 폭, 워드라인의 수 등을 포함한다. 필요에 따라서 클럭 주파수, 뱅크의 수 등을 더 입력하도록 설계될 수 있다. 사용자에 의해서 입력된 메모리 파라미터는 메모리 사양 소스(410)에 저장된다.
단계 510에서, 메모리 구성기(430)는 사용자에 의해서 입력된 워드라인의 수와 기준값을 비교한다. 앞서 도 2 및 도 3에서 설명한 바와 같이, 기준값은 메모리의 레이아웃 타입을 결정하기 위한 값으로, 이 실시예에서는 16이다. 워드라인의 수가 16보다 작으면 도 2에 도시된 바와 같이, 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들의 측면에 배치하는 레이아웃 구조가 선택되고(단계 520), 워드라 인의 수가 16보다 크면 도 3에 도시된 바와 같이, 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들 사이의 중앙에 배치하는 레이아웃 구조가 선택된다(단계 530).
단계 540에서 메모리 구성기(430)는 메모리 사양 소스(410)로부터 수신된 메모리 사양 그리고 레이아웃 데이터 베이스(420)에 저장된 리프 셀들 및 레이아웃 정보에 근거해서 선택된 레이아웃 구조에 따라서 메모리의 최종 레이아웃을 생성한다.
이와 같이, 워드라인의 수가 소정의 기준값보다 작으면 비트라인에서의 신호 지연이 작으므로, 도 2에 도시된 바와 같이, 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들의 측면에 배치함으로서 회로 면적을 최소화한다. 한편, 워드라인의 수가 소정의 기준값보다 크면 비트라인에서의 신호 지연이 커지므로, 도 3에 도시된 바와 같이, 입출력 회로 및 패드들을 메모리 셀 어레이 뱅크들 사이의 중앙에 배치함으로써 비트라인에서의 신호 지연을 최소화한다.
도 6은 도 3에 도시된 입출력 패드 중앙 배치 구조에서 워드라인의 수에 따른 뱅크들(310, 312, 314, 316)의 크기 변화를 보여주는 도면이다. 사용자에 의해서 설정되는 워드라인의 수가 16보다 클 때 도 3에 도시된 바와 같이, 멀티플렉서 및 감지 증폭기들(320, 322, 324, 326) 그리고 데이터 입/출력 회로 및 패드들(330, 332)이 뱅크들(310, 312, 314, 316) 사이의 중심 영역에 배열된다. 앞서 설명한 바와 같이, 하나의 워드 라인은 행 방향으로 신장되어서 두 개의 상위 뱅크들(310, 312) 내 메모리 셀 어레이들 또는 두 개의 하위 뱅크들(314, 316) 내 메모리 셀 어레이들과 연결된다.
예컨대, 워드라인의 수가 17, 18, 19, 20 중 어느 하나이면 16 개의 워드라인들과 연결된 메모리 셀 어레이들이 상위 뱅크들(310, 312)에 배열되고, 나머지 1, 2, 3, 4 개의 워드라인들과 연결된 메모리 셀 어레이들이 하위 뱅크들(314, 316)에 배열된다. 그러므로 워드라인의 수가 20일 때 상위 뱅크들(310, 312)에는 'A' 영역까지 메모리 셀 어레이들이 배열되고, 하위 뱅크들(314, 316)은 "B" 영역까지 메모리 셀 어레이들이 배열된다.
이와 같은 방법으로 워드라인의 수에 따라서 상위 뱅크들(310, 312)에는 'A' 영역부터 'L' 영역까지 순차적으로 메모리 셀 어레이들이 배열되고, 하위 뱅크들(314, 316)에는 'B' 영역부터 'M' 영역까지 순차적으로 메모리 셀 어레이들이 배열된다. 'A' 영역에는 16개의 워드라인들과 연결되는 메모리 셀 어레이가 배열되고, 나머지 'B'부터 'M' 영역들 각각에는 최대 4 개의 워드라인과 연결된 메모리 셀 어레이가 배열된다. 이 실시예에서는 'B'부터 'M' 영역들 각각은 최대 4 개의 워드라인들을 포함하는 것으로 설명되나, 'B'부터 'M' 영역들 각각은 2, 8, 16 등과 같이 다양한 워드라인들을 포함할 수 있다.
단, 메모리 셀 어레이들이 배열되는 순서는 'A' 영역부터 'M' 영역까지 알파벳 순이다. 예컨대, 워드라인의 수가 40이면, 'A' 영역부터 'G'영역까지 메모리 셀 어레이가 배열된다. 즉, 상위 뱅크들(310, 312)에는 'A'영역 및 'F' 영역에 메모리 셀 어레이가 배열되고, 하위 뱅크들(314, 316)에는 'B' 영역부터 'G' 영역까지 메모리 셀 어레이가 배열된다.
그러므로, 상위 뱅크들(310, 312)에 배열되는 워드라인들의 수와 하위 뱅크 들(314, 316)에 배열되는 워드라인들의 수는 최대 4개까지 차이난다.
이와 같이 본 발명의 메모리 컴파일링 방법은, 데이터 입출력 회로 및 패드들(330, 332)로부터 뱅크들(310, 312, 314, 316) 사이의 최대 거리가 최소화되도록 메모리 셀 어레이들을 배열함으로써 비트라인의 길이를 최소화할 수 있다. 따라서 비트라인을 통한 신호 지연이 최소화된다.
도 6에 도시된 바와 같은 방법으로 메모리 셀 어레이를 배열하는 경우, 워드라인의 수에 따라서 행 디코더가 다르게 설계되어야 한다. 왜냐하면, 워드라인의 수가 16이상 32 이하일 때에는 행 어드레스 신호의 최하위비트로부터 5번째 비트를 뱅크 선택 신호로서 사용하면 되나, 워드라인의 수가 32보다 크면 4 개의 워드라인 단위로 상위 뱅크들(310, 312) 및 하위 뱅크들(314, 316)를 지정해야 하므로 행 어드레스 신호의 최하위비트로부터 3번째 비트를 뱅크 선택 신호로 사용해야 한다.
도 7은 워드라인의 수가 16보다 크고, 32이하일 때 행 디코더들(340, 342)의 구성 예를 보여주는 도면이다. 도 7에서, 행 디코더(340)는 상위 뱅크들(310, 312)에 대응하는 상위 워드라인들(UWL0-UWLj)에 연결되고, 행 디코더(342)는 하위 뱅크들(314, 316)에 대응하는 하위 워드라인들(LWL0-LWLk)에 연결된다.
행 디코더(340)는 인버터(702), 제1 디코더(710) 그리고 제2 디코더(760)를 포함하며, 행 디코더(342)는 제1 디코더(750) 및 제2 디코더(74)를 포함한다. 행 디코더들(340, 342) 내 제1 디코더들(710, 750)은 동일한 회로 구성을 가지고 동일하게 동작하며, 또한 행 디코더들(340, 342) 내 제2 디코더들(760, 760)은 동일한 회로 구성을 가지고 동일하게 동작하므로, 본 명세서에서는 행 디코더(340)의 구체 적인 구성 만을 도시하고 설명한다.
도 7을 참조하면, 인버터(704)는 행 어드레스 신호의 최하위비트로부터 5번째 비트를 뱅크 선택 신호(A4)로서 입력받는다. 행 디코더(710)는 복수 개의 낸드 게이트들(711-724)과 인버터들(731-738)을 포함한다. 낸드 게이트들(711-718) 각각은 행 어드레스 신호들(A0-A2)을 입력받고, 인버터들(731-738)은 제1 신호들(LO-L7)을 출력한다. 낸드 게이트들(719, 720) 각각은 행 어드레스 신호(A3) 및 인버터(702)를 통해 출력되는 뱅크 어드레스 신호(A4)를 입력받고, 제2 신호들(M0, M1)을 출력한다. 낸드 게이트들(721-724)은 행 어드레스 신호들(A5, A6)을 입력받고, 제 3 신호들(H0-H3)을 출력한다.
제2 디코더(740)는 제1 디코더(710)로부터 제1 내지 제3 신호들(L0-L7, M0-M1, H0-H3)을 입력받고, 상위 워드라인들(UWL0-UWLj) 중 어느 하나를 선택적으로 활성화시킨다. 제2 디코더(740)는 노아 게이트(743), 앤드 게이트(742) 그리고 인버터(741)를 포함한다. 노아 게이트(743)는 제2 신호들(M0-M1) 중 어느 하나와 제3 신호들(H0-H3) 중 어느 하나를 입력받는다. 도 7에는 하나의 노아 게이트(743)만 도시되었으나 제2 신호들(M0-M1)과 제3 신호들(H0-H3)의 조합에 따라서 제2 디코더(740)에는 총 8 개의 노아 게이트들이 구비된다.
낸드 게이트(742)는 노아 게이트(743)의 출력과 인버터들(731-738) 중 어느 하나의 출력을 입력받는다. 도 7에는 하나의 낸드 게이트(742)만 도시되었으나 제1 신호들(L0-L7)과 8개의 노아 게이트들(743)로부터의 출력들의 조합에 따라서 제2 디코더(740)에는 총 64 개의 노아 게이트들이 구비된다.
상술한 바와 같은 구성을 갖는 행 디코더(340)는 뱅크 선택 신호(A4)가 로우 레벨일 때 상위 워드라인들(UWL0-UWLk) 중 행 어드레스 신호들(A0-A3, A5-A7)에 대응하는 하나를 활성화시킨다. 또한 행 디코더(342)는 뱅크 선택 신호(A4)가 하이 레벨일 때 하위 워드라인들(LWL0-LWLk) 중 행 어드레스 신호들(A0-A3, A5-A7)에 대응하는 하나를 활성화시킨다.
도 8은 워드라인의 수가 32보다 클 때 행 디코더들의 구성 예를 보여주는 도면이다. 도 8에 도시된 행 디코더들(800, 900)은 도 3에 도시된 행 디코더ㄷ드들(340, 342)의 실시예이다. 도 8에 도시된 행 디코더(800) 내 인버터(802)는 행 어드레스 신호의 최하위비트로부터 세번째 비트(A2)를 뱅크 선택 신호로서 입력받는다는 점에서 도 7에 도시된 행 디코더(340)와 다르다.
도 6에서 설명한 바와 같이, 워드라인의 수가 32보다 클 때 상위 뱅크들(310, 310)과 하위 뱅크들(314, 316)은 4 개의 워드라인씩 번걸아 증가한다. 그러므로, 워드라인의 수가 32보다 클 때 행 어드레스 신호의 최하위비트로부터 세번째 비트(A2)가 뱅크 선택 신호로 사용되어야 한다.
도 8을 참조하면, 낸드 게이트들(811-818)은 행 어드레스 신호들(A0, A1, A3)을 입력받고, 낸드 게이트들(819, 820)은 행 어드레스 신호(A4)를 입력받으며, 그리고 낸드 게이트들(821-824)은 행 어드레스 신호들(A5, A6)을 입력받는다. 도 8에 도시된 행 디코더(800)는 도 7에 도시된 행 디코더(340)와 동일한 회로 구성을 가지나, 행 디코더(800)로 입력되는 행 어드레스 신호들의 순열이 도 7에 도시된 행 디코더(340)로 입력되는 행 어드레스 신호의 순열과 상이하다.
본 발명의 바람직한 실시예에 따른 메모리 컴파일링 방법은 사용자에 의해서 선택되는 워드라인의 수에 따라서 행 디코더로 입력되는 행 어드레스 신호들의 순열을 다르게 함으로써 메모리 셀 어레이 뱅크들(310, 312, 314, 316) 내 워드라인의 증가 단위가 가변적이더라도(예컨대, 16 워드라인 또는 4 워드라인) 동일한 회로 구성을 가지는 행 디코더를 레이아웃할 수 있다. 그러므로, 메모리 컴파일링을 위한 프로그램 설계 비용이 감소한다.
예시적인 바람직한 실시예를 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들이 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이와 같은 본 발명에 의하면, 요구되는 메모리 사양에 따라서 최적의 속도로 동작하고, 최소의 크기를 갖도록 메모리를 컴파일링할 수 있다.
또한 메모리에 포함되는 워드라인의 수가 가변적이더라도 행 디코더의 설계를 용이하게 할 수 있다.

Claims (17)

  1. 메모리의 레이아웃을 컴퓨터 구현에 의해 컴파일링하는 방법에 있어서:
    메모리의 사양을 입력하는 단계와;
    상기 메모리의 사양에 근거해서 입/출력 패드의 배치 구조를 결정하는 단계; 그리고
    상기 결정된 입/출력 패드 배치 구조에 따라서 메모리의 레이아웃을 생성하는 단계를 포함하되,
    상기 메모리 셀의 사양은 워드 라인의 수를 포함하고,
    상기 배치 구조를 결정하는 단계는 상기 워드 라인의 수가 N개 이하일 대, 상기 입/출력 패드가 상기 메모리의 일측에 배열되는 제 1 레이아웃을 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현형 메모리 컴파일링 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제1 레이아웃이 선택될 때 상기 메모리의 레이아웃을 생성하는 단계는,
    각각이 복수 개의 워드라인들, 복수 개의 비트 라인들 그리고 상기 워드라인들과 상기 비트라인들의 교차 영역들에 배열된 복수 개의 메모리 셀들을 갖는 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계와;
    행 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되는 행 디코더 영역을 생성하는 단계와;
    상기 메모리 셀 어레이 뱅크들의 일측에 상기 입/출력 패드를 배치하기 위한 입/출력 패드 영역을 생성하는 단계; 그리고
    상기 메모리 셀 어레이 뱅크와 상기 입/출력 패드 영역 사이에 배치되는 감지 증폭 영역을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현형 메모리 컴파일링 방법.
  5. 제 1 항에 있어서,
    상기 배치 구조를 결정하는 단계는,
    상기 워드라인의 수가 상기 N개보다 클 때 상기 입/출력 패드가 상기 메모리의 중심 영역에 배열되는 제2 레이아웃을 선택하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현형 메모리 컴파일링 방법.
  6. 제 5 항에 있어서,
    상기 제2 레이아웃이 선택될 때 상기 메모리의 레이아웃을 생성하는 단계는,
    행들과 열들로 배열되며, 각각이 복수 개의 워드라인들, 복수 개의 비트 라인들 그리고 상기 워드라인들과 상기 비트라인들의 교차 영역들에 배열된 복수 개의 메모리 셀들을 갖는 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계와;
    행 방향으로 인접한 메모리 셀 어레이 뱅크들 사이에 배치되는 행 디코더 영역들을 생성하는 단계와;
    열 방향으로, 상기 메모리 셀 어레이 뱅크들의 일측에 상기 입/출력 패드를 배치하기 위한 입/출력 패드 영역을 생성하는 단계; 그리고
    각각이 상기 메모리 셀 어레이 뱅크들에 대응하고, 각각이 상기 대응하는 메모리 셀 어레이 뱅크와 상기 입/출력 패드 영역 사이에 배치되는 복수의 감지 증폭 영역들을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현형 메모리 컴파일링 방법.
  7. 제 6 항에 있어서,
    상기 제2 레이아웃이 선택될 때 상기 복수 개의 메모리 셀 어레이 뱅크 영역들을 생성하는 단계는,
    상기 워드 라인의 수가 상기 N개에 2를 곱한 수보다 작은 경우, 상기 복수 개의 메모리 셀 어레이 뱅크 영역들 중 상기 입/출력 패드 영역의 상측에 배열되는 제1 메모리 셀 어레이 뱅크 영역들에 상기 N개의 워드라인들을 배치하는 단계; 그리고
    상기 복수 개의 메모리 셀 어레이 뱅크 영역들 중 상기 입/출력 패드 영역의 하측에 배열되는 제2 메모리 셀 어레이 뱅크 영역들에 상기 제 1 메모리 셀 어레이 뱅크 영역들에 배치된 상기 N개의 워드 라인들을 제외한 나머지 워드라인들을 배치하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현형 메모리 컴파일링 방법.
  8. 메모리의 레이아웃을 컴파일링하기 위한 컴퓨터 기초형 메모리 컴파일링 시스템에 있어서:
    상기 메모리에 대한 사양 소스와;
    상기 메모리를 구성하는 복수의 소자 라이브러리들을 저장하는 데이터 베이스; 그리고
    상기 사양 소스에 근거해서 상기 데이터 베이스에 저장된 상기 복수의 소자 라이브러리들을 배열하여 메모리 레이아웃을 생성하는 메모리 구성기를 포함하되;
    상기 메모리 구성기는,
    상기 사양 소스에 포함된 워드라인의 수가 소정의 개수 이하일 때, 입/출력 패드가 상기 메모리의 일측에 배열되는 제 1 레이아웃으로 상기 메모리의 레이아웃을 생성하는 것을 특징으로 하는 컴퓨터 기초형 메모리 컴파일링 시스템.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 메모리 구성기는,
    상기 워드라인의 수가 상기 소정의 개수보다 클 때 상기 입/출력 패드가 상기 메모리의 중심에 배열되는 제2 레이아웃으로 상기 메모리의 레이아웃을 생성하는 것을 특징으로 하는 컴퓨터 기초형 메모리 컴파일링 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020060065045A 2006-07-11 2006-07-11 메모리 컴파일링 시스템 및 컴파일링 방법 KR101297754B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060065045A KR101297754B1 (ko) 2006-07-11 2006-07-11 메모리 컴파일링 시스템 및 컴파일링 방법
US11/819,389 US7788619B2 (en) 2006-07-11 2007-06-27 Memories, memory compiling systems and methods for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060065045A KR101297754B1 (ko) 2006-07-11 2006-07-11 메모리 컴파일링 시스템 및 컴파일링 방법

Publications (2)

Publication Number Publication Date
KR20080006201A KR20080006201A (ko) 2008-01-16
KR101297754B1 true KR101297754B1 (ko) 2013-08-26

Family

ID=38949092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060065045A KR101297754B1 (ko) 2006-07-11 2006-07-11 메모리 컴파일링 시스템 및 컴파일링 방법

Country Status (2)

Country Link
US (1) US7788619B2 (ko)
KR (1) KR101297754B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060171200A1 (en) * 2004-02-06 2006-08-03 Unity Semiconductor Corporation Memory using mixed valence conductive oxides
US20090164203A1 (en) * 2007-12-23 2009-06-25 Unity Semiconductor Corporation Non-volatile memory compiler
EP2286550B1 (en) * 2008-04-30 2014-09-03 Alexander Poltorak Multi-tier service wireless communications network
US8902625B2 (en) * 2011-11-22 2014-12-02 Marvell World Trade Ltd. Layouts for memory and logic circuits in a system-on-chip
GB2512641A (en) * 2013-04-05 2014-10-08 Ibm SRAM array comprising multiple cell cores
KR20150057136A (ko) * 2013-11-18 2015-05-28 삼성전자주식회사 원 타임 프로그래머블 메모리 및 원 타임 프로그래머블 메모리를 포함하는 시스템-온 칩
US9384823B2 (en) 2014-09-19 2016-07-05 International Business Machines Corporation SRAM array comprising multiple cell cores
KR102311512B1 (ko) * 2015-08-21 2021-10-13 에스케이하이닉스 주식회사 반도체 장치
US10374868B2 (en) * 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
CN105868454B (zh) * 2016-03-24 2019-04-02 航天科技控股集团股份有限公司 一种基于a20的嵌入式系统的pcb设计方法
JP2019036375A (ja) 2017-08-17 2019-03-07 東芝メモリ株式会社 半導体記憶装置
US11538506B2 (en) * 2020-07-21 2022-12-27 Samsung Electronics Co., Ltd. Semiconductor device and semiconductor package including the semiconductor device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111690A1 (en) * 2002-12-09 2004-06-10 Lsi Logic Corporation Method for composing memory on programmable platform devices to meet varied memory requirements with a fixed set of resources
JP2004214564A (ja) * 2003-01-08 2004-07-29 Renesas Technology Corp マイクロコンピュータのレイアウト方法および設計方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0670880B2 (ja) * 1983-01-21 1994-09-07 株式会社日立マイコンシステム 半導体記憶装置
US5604710A (en) * 1994-05-20 1997-02-18 Mitsubishi Denki Kabushiki Kaisha Arrangement of power supply and data input/output pads in semiconductor memory device
DE19507312C1 (de) 1995-03-02 1996-07-25 Siemens Ag Halbleiterspeicher, dessen Speicherzellen zu einzeln adressierbaren Einheiten zusammengefaßt sind und Verfahren zum Betrieb solcher Speicher
JPH10163451A (ja) * 1996-12-02 1998-06-19 Hitachi Ltd 半導体記憶装置
JPH10326496A (ja) * 1997-05-26 1998-12-08 Hitachi Ltd 半導体記憶装置
JP3970396B2 (ja) 1997-10-24 2007-09-05 エルピーダメモリ株式会社 半導体記憶装置
KR100576844B1 (ko) * 1998-10-29 2006-05-10 가부시키가이샤 히타치세이사쿠쇼 반도체집적회로장치
JP3289701B2 (ja) * 1999-04-12 2002-06-10 日本電気株式会社 半導体記憶装置
KR100558035B1 (ko) 1999-12-30 2006-03-07 주식회사 하이닉스반도체 반도체메모리소자
JP2004234770A (ja) * 2003-01-31 2004-08-19 Renesas Technology Corp 半導体記憶装置とテスト方法
KR100949878B1 (ko) 2003-02-06 2010-03-25 주식회사 하이닉스반도체 반도체 장치의 레이아웃 구조
JP4250143B2 (ja) * 2003-02-27 2009-04-08 富士通マイクロエレクトロニクス株式会社 半導体記憶装置
JP4757607B2 (ja) * 2005-11-08 2011-08-24 富士通セミコンダクター株式会社 半導体メモリ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111690A1 (en) * 2002-12-09 2004-06-10 Lsi Logic Corporation Method for composing memory on programmable platform devices to meet varied memory requirements with a fixed set of resources
JP2004214564A (ja) * 2003-01-08 2004-07-29 Renesas Technology Corp マイクロコンピュータのレイアウト方法および設計方法

Also Published As

Publication number Publication date
KR20080006201A (ko) 2008-01-16
US20080013376A1 (en) 2008-01-17
US7788619B2 (en) 2010-08-31

Similar Documents

Publication Publication Date Title
KR101297754B1 (ko) 메모리 컴파일링 시스템 및 컴파일링 방법
US5883814A (en) System-on-chip layout compilation
US5596743A (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US7058863B2 (en) Semiconductor integrated circuit
US11043259B2 (en) System and method for in-memory compute
US7406620B2 (en) System and method for compiling a memory assembly with redundancy implementation
US20170184662A1 (en) Centralized Built-In Soft-Repair Architecture for Integrated Circuits With Embedded Memories
JPH0760442B2 (ja) 回路マクロの生成方法及び装置
JP2010520562A (ja) 回路設計スケーリングのための方法およびプログラム
US11437982B2 (en) Flip flop standard cell
US7502276B1 (en) Method and apparatus for multi-word write in domino read SRAMs
US6002633A (en) Performance optimizing compiler for building a compiled SRAM
US20080148204A1 (en) Clock Distribution Network, Structure, And Method For Providing Balanced Loading In Integrated Circuit Clock Trees
KR20210044156A (ko) 저차 mux 설계에서 고차 mux를 유도하는 회로 아키텍처
US6324680B1 (en) Synthesis of arrays and records
US6236618B1 (en) Centrally decoded divided wordline (DWL) memory architecture
US7479819B2 (en) Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees
Marinberg et al. Efficient Implementation of Many-Ported Memories by Using Standard-Cell Memory Approach
WO2020182998A1 (en) Method for implementing an integrated circuit comprising a random-access memory-in-logic
KR101884190B1 (ko) 다수의 기록 포트를 갖는 메모리
KR100644421B1 (ko) 반도체 메모리 구성요소, 특히 dram 구성요소의 설계및 제조방법
JP2002298585A (ja) 半導体メモリ、半導体メモリの設計方法、及びその設計プログラム
KR100594281B1 (ko) 패리티 비트를 가지는 균등 분할 셀 어레이 블록으로구성된 집적회로 메모리 장치
Steinweg et al. A flexible gate array RAM compiler with full design tool integration
Jagasivamani Development of a low-power SRAM compiler

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 7