KR20030016210A - 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법 - Google Patents

동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법 Download PDF

Info

Publication number
KR20030016210A
KR20030016210A KR1020027007616A KR20027007616A KR20030016210A KR 20030016210 A KR20030016210 A KR 20030016210A KR 1020027007616 A KR1020027007616 A KR 1020027007616A KR 20027007616 A KR20027007616 A KR 20027007616A KR 20030016210 A KR20030016210 A KR 20030016210A
Authority
KR
South Korea
Prior art keywords
context
reconfigurable
macro
design
logic circuit
Prior art date
Application number
KR1020027007616A
Other languages
English (en)
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 아트멜 코포레이숀
Publication of KR20030016210A publication Critical patent/KR20030016210A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 동적으로 재구성 가능한 논리 회로의 물리적 설계를 구현하는 방법에 관한 것이다. 상기 방법은 스키매틱 또는 고수준 기술 언어(HDL)에서 FPGA 구성 비트스트림 파일까지의 설계 명세를 갖는 물리적 설계 흐름을 형성하는 소프트웨어에 의해 수행된다. 상기 방법은 기입된 설계 네트리스트(160)를 판독하는 단계를 포함하는데, 설계 네트리스트(160)는 정적 매크로 세트(140)와 재구성 가능한 매크로 콘텍스트 세트(150)를 포함한다. 다음에 재구성 가능한 매크로 각각을 컴파일하고, 초기 디바이스 콘텍스트를 배치 및 배선한다. 재구성 가능한 매크로 각각에 대한 콘텍스트를 임의로 선택함으로써 디바이스 콘텍스트를 갱신하고, 갱신된 디바이스 콘텍스트를 배치 및 배선하며, 모든 재구성 가능한 매크로 콘텍스트가 배치 및 배선될 때까지 상기 갱신 단계와 상기 배치 및 배선 단계를 반복한다. 그 다음에, 컴파일 과정이 완료된 후에, 전체적인 비트스트림, 부분적인 비트스트림 및 증분적인 비트스트림이 발생된다.

Description

동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법{METHOD FOR IMPLEMENTING A PHYSICAL DESIGN FOR A DYNAMICALLY RECONFIGURABLE LOGIC CIRCUIT}
동적으로 재구성 가능한 논리(또한 캐시 논리로서 알려짐)는 SRAM 기반의 FPGA(Field-Programmable Gate Array) 및 CPLD(Complex Programmable Logic Device)와 같은 프로그램 가능한 논리 회로를 재구성하는 디지털 설계 기술이다. 동적으로 재구성 가능한 논리는 FPGA 논리의 일부분을 재구성(여기서 FPGA 논리의 나머지 부분은 계속해서 중단없이 동작함)하는 방식으로, SRAM 기반의 FPGA의 동적이고 부분적인 재구성 가능성을 활용한다.
동적으로 재구성 가능한 논리에 대한 개념이 도 6에 도시되어 있으며, 도 6은 FPGA 상에 구현된 논리의 일부분에 대한 재구성을 보여준다. 대체 논리(120)가 오프칩 메모리(124)에 저장된다. 재구성 중에는, 대체될 논리의 일부분, 즉 재구성가능한 논리(116)만이 오버라이트(overwrite)되고, 다른 모든 논리, 즉 정적논리(114)와 미사용 논리(112)는 아무런 영향없이 계속해서 정상적으로 동작한다. FPGA의 일부분만이 재구성되기 때문에, 재구성 비트스트림의 크기는 최소화된다. 따라서, FPGA를 재구성하는 데 걸리는 시간, 즉 재구성 레이턴시(latency)와, 오프칩 스토리지의 크기가 최소화된다. 이것은 회로의 고정형 논리 구현이 런타임(run-time)에서 변경되지 않는 전통적인 FPGA 설계와 대조를 이룬다.
FPGA 자원이 논리 회로의 다수의 상이한 구현들간에 공유되므로, 동적으로 재구성 가능한 논리는 설계자에게 중요한 이점들을 제공한다. 동적으로 재구성 가능한 논리는 고정형 논리 설계보다 FPGA 자원을 더 적게 사용한다. 이러한 이점을 활용해서, 더 많은 논리를 소정의 FPGA에 구현하거나, 또는 다른 방법으로 가능한 것보다 소수 또는 소형의 저비용 FPGA를 사용할 수 있다. 따라서, 비용, 보드 면적 및 전력 소비면에서 모두 감소될 수 있다. 또한, 시스템 전체 콘텍스트(system-wide context)에 있어서, 동적으로 재구성 가능한 논리는 주문형 하드웨어에 근접한 동작 속도 및 파인 그레인 병렬성(fine-grain parallelism)과 함께, 정상적으로 마이크로프로세서와 관련된 런타임 유연성 수준을 제공한다. 이러한 이점은 기능이 런타임에서 변경될 수 있는 특정 응용의 주문형 코프로세서(application-specific custom co-processor)를 구현하는 데 FPGA를 사용하는 재구성 가능한 컴퓨팅 애플리케이션에 의해 활용될 수 있다.
상업적으로 입수 가능한 컴퓨터 이용 설계(CAD) 도구는 전통적인 고정형 논리 FPGA 설계에 대한 좋은 해결책을 제공한다. 설계자는 논리를 지정하고, 기능적 시뮬레이션(functional simulation)을 수행하고, 물리적 레이아웃(physicallayout)을 작성하고, 포스트 레이아웃 시뮬레이션(post-layout simulation)을 수행하고, FPGA 구성 비트스트림을 발생시킬 수 있다. 그 결과, 설계자는 FPGA 설계에서 상당한 확신을 가지고 프로토타입 단계(prototype stage)로 나아갈 수 있다. 이러한 과정의 일부로서, 자동 FPGA 컴파일[평면 계획(floorplanning), 배치(placement) 및 배선(routing)] 방법은 신속한 설계 전환(turn-around)을 제공하며, 또한 설계자는 목표 FPGA 아키텍처의 상세도에 관심을 갖거나 또는 FPGA 수동 배치 및 배선 방법에 대한 전문 지식을 가질 필요가 없다.
동적으로 재구성 가능한 논리 설계를 위한 기존의 상업적인 물리적 설계 방법들은 심각한 제한 사항들을 갖는다. 이러한 방법들을 사용하기 위해서는, 설계자는 고정형 논리 설계에서와 같이 FPGA 논리의 상이한 콘텍스트마다 독립적으로 개발해야만 한다. 대부분의 FPGA 공급자(vendor)가 제공하는 증분적인 설계 변경 능력은 이러한 과정에서 설계자가 정적 논리의 배치 및 배선을 변경하는 일이 없이 물리적 레이아웃을 변경할 수 있도록 도움을 준다. 논리 섹션에 대한 여러가지 가능한 변형을 갖는 설계에 있어서, 이러한 절차는 매우 많은 시간을 필요로 하고 또한 관리하기가 어렵다. 더욱이, 설계 변경을 위한 평면 계획, 배치 및 배선은 동일한 FPGA 자원이 상이한 콘텍스트에 의해 사용되는 것을 보장하기 위해서 수동적으로 수행되어야만 한다. 이것은 설계자가 목표 FPGA 아키텍처의 상세도를 숙지하고 또한 물리적 설계 방법의 전문 사용자가 될 것을 요구한다.
현재의 물리적 설계 방법의 제한 사항들은 신기술의 조기 개업자들에게 있어서는 그런대로 참을 만한 것이다. 그러나, 타임 투 마켓(time-to-market)에 대한압박을 받고 FPGA 아키텍처 및 방법에 대한 상세한 지식을 갖추지 못한 대다수의 설계자들은 현재의 물리적 설계 방법을 수용할 수 없을 것이다. 이러한 문제점을 처리하기 위해서는, 가능한 한 투명하게 설계 방법론을 기존의 FPGA 설계 흐름 내에 통합하여, 동적으로 재구성 가능한 논리 설계 행위 검증을 처리하고 물리적 설계 과정의 자동화를 제공할 필요가 있다.
이전에 이러한 문제점을 해결하기 위한 시도로서, 구성 메모리 셀을 전체적으로 재기록할 필요없이 런타임에서 재구성하는 것을 가능하게 하는 동적이고 부분적으로 재구성 가능한 FPGA가 Hung의 미국 특허 제5,781,756호에 개시되어 있다. 그 미국 특허에는 또한 구성 메모리 셀을 전체적으로 재기록할 필요없이 FPGA 구성을 동적이고 부분적으로 재구성하는 방법이 개시되어 있다. 메모리 구성 소자는 FPGA에 포함되어, FPGA의 데이터 레지스터와 어드레스 레지스터의 로딩을 제어한다. 이 소자는 변경되지 않는 구성 메모리 셀을 건너뛰는 것을 가능하게 한다. 그러므로, 변경될 필요가 있는 구성 메모리 셀만이 재기록될 것이다.
Nabeel shirazi, Wayne Luk 및 Peter Y.K. Cheung의 "Automating Production of Run-Time Reconfigurable Designs"이란 제목의 회의용 간행물에는 2개의 연속하는 회로 구성을 매칭시켜서 그것들에 공통인 구성 요소의 위치를 알아냄으로써, 재구성 시간을 줄일 수 있는 방법이 개시되어 있다. 이러한 매칭 절차는 세가지 단계, 즉 1) 상기 2개의 연속하는 회로의 구성 요소를 이분 그래프의 노드로서 표현하는 단계와, 2) 가중치를 고려해서 한 구성에 있는 각각의 노드와 다른 구성에 있는 노드와의 최상의 일치 부분을 계산하는 단계와, 3) RC-Mux와 RC_Dmux를 삽입해서 명백한 재구성 가능한 영역을 갖는 결합 회로를 생성하는 단계를 포함한다. 그러나, 전체적인 설계 과정에 있어서, 이러한 매칭은 물리적 설계 과정 전에 이루어진다.
본 발명은 전통적인 고정형 논리 설계에서 누릴 수 있는 자동화 수준을 제공하는 동적으로 재구성 가능한 논리 회로의 물리적 설계를 구현하는 방법을 설계자에게 제공하는 것을 목적으로 한다.
본 발명은 또한 설계 구현의 정확성을 보장하고, 목표 소자에서 어떠한 전기적인 규정도 위반하지 않으며, FPGA 자원에 대한 런타임 경쟁(contention)으로부터 보호할 수 있는 물리적 설계를 구현하는 방법을 제공하는 것을 또 다른 목적으로 한다.
본 발명은 일반적으로 집적 회로 상에 형성되는 프로그램 가능한 논리 소자에 관한 것으로서, 더 구체적으로는 동적으로 재구성 가능한 논리 회로의 물리적 설계를 구현하는 방법에 관한 것이다.
도 1은 본 발명의 방법에 사용되는 동적으로 재구성 가능한 논리 설계 명세의 블록도.
도 2는 본 발명의 방법에 사용되는 설계 네트리스트를 채용한 도 1의 동적으로 재구성 가능한 논리 설계 명세의 블록도.
도 3은 본 발명의 방법에 사용되는 동적으로 재구성 가능한 논리의 물리적 설계 과정의 블록도.
도 4는 도 3의 물리적 설계 과정에 사용되는 동적으로 재구성 가능한 논리설계 흐름의 블록도.
도 5는 도 3의 물리적 설계 과정에 사용되는 재구성 가능한 하드 매크로 컴파일 흐름 방법의 블록도.
도 6은 종래의 동적으로 재구성 가능한 논리의 블록도.
상기 목적은 동적으로 재구성 가능한 논리 애플리케이션의 수동 및 자동 물리적 설계를 구현하는 방법에 의해 달성된다. 상기 방법은 스키매틱 또는 고수준 기술 언어(HDL)에서 FPGA 구성 비트스트림 파일까지의 설계 명세를 갖는 물리적 설계 흐름을 형성하는 소프트웨어에 의해 수행된다. 상기 방법은 정적 매크로 세트와 재구성 가능한 매크로 콘텍스트 세트를 포함하는 설계 네크리스트를 판독하는 단계와, 재구성 가능한 매크로 각각을 컴파일하는 단계와, 정적 매크로 세트와 재구성 가능한 매크로 각각에 대한 초기 매크로 콘텍스트를 포함하는 초기 디바이스 콘텍스트를 배치 및 배선하는 단계와, 재구성 가능한 매크로 각각에 대한 콘텍스트를 임의로 선택함으로써 디바이스 콘텍스트를 갱신하는 단계와, 갱신된 디바이스 콘텍스트를 배치 및 배선하는 단계와, 모든 재구성 가능한 매크로 콘텍스트가 배치 및 배선될 때까지 상기 갱신 단계와 상기 배치 및 배선 단계를 반복하는 단계를 포함한다. 그 다음에, 컴파일 과정이 완료된 후에, 전체적인(full) 비트스트림, 부분적인(partial) 비트스트림 및 증분적인(incremental) 비트스트림이 발생된다.
본 발명의 방법은 설계자들이 특정 FPGA의 고려할 사항들로부터 벗어나 시스템 수준의 문제에 집중할 수 있도록 해준다. 본 발명은 산업 표준 설계 엔트리 포맷을 사용하므로, 본 발명을 사용함에 있어서 동적으로 재구성 가능한 논리 구현 또는 FPGA 아키텍처에 대한 전문가 수준의 지식이 요구되지 않는다. 대부분의 중요한 설계 단계가 자동화될 수 있기 때문에, 평면 계획, 배치 및 배선 과정을 수동적으로 수행할 필요를 제거함으로써 상당한 시간을 절약할 수 있다. 본 발명의 방법은 설계자들이 타임 투 마켓 제약을 충족시킬 수 있도록 동적으로 재구성 가능한 논리 개념에서 FPGA 구현까지의 간단한 경로를 제공한다.
도 1을 참조하면, 도 1은 재구성 가능한 매크로를 사용하기 위한 동적으로 재구성 가능한 논리 설계가 정적 논리(140)와 재구성 가능한 논리(150)를 포함하고 있음을 보여주고 있다. 정적 논리(140) 회로와 재구성 가능한 논리(150) 회로는 각각 회로 매크로망으로 이루어져 있다. 각각의 매크로는 논리 게이트 또는 스토리지 요소와 같이, 목표 FPGA 아키텍처에서 기본 논리 자원을 나타내는 회로 요소이다. 선택적으로, 회로 매크로들은 계층적일 수 있고, 따라서 다른 계층적인 매크로들 또는 회로 요소들 또는 양자 모두를 포함할 수 있다. 매크로 A(141), 매크로 B(142), 매크로 C(143) 및 매크로 D(144)는 정적 매크로망을 구성하고, 매크로 E(155) 및 매크로 F(156)는 재구성 가능한 매크로망을 구성한다. FPGA 입력(113)은 정적 논리망의 매크로 A(141)에 공급된다. FPGA 출력(134)은 정적 논리의 매크로 C(143)로부터 생성되고, FPGA 출력(135)은 재구성 가능한 논리의 매크로 F(156)로부터 생성된다. 매크로들은 동적으로 재구성 가능한 논리 설계 내에서 상호 연결된다.
동적으로 재구성 가능한 논리 설계에 있어서, 재구성 가능한 매크로가 추가적으로 정의된다. 각각의 재구성 가능한 매크로는 하나 이상의 매크로 콘텍스트 또는 구성과 관련된다. 각각의 매크로 콘텍스트는 회로 매크로망으로서 정의된다. 매크로 콘텍스트는 재구성 가능한 매크로가 구현할 수 있는 상이한 회로 구성을 표현 및 정의한다. 재구성 가능한 매크로와 관련된 매크로 콘텍스트 세트는 동일한 FPGA 자원을 공유한다. 따라서, 하나의 매크로 콘텍스트만이 어느 순간에 FPGA 상에서 활성화될 수 있다. 재구성 가능하지 않은 매크로를 정적 매크로라고 부르는데, 그 이유는 그 매크로가 런타임 중에 FPGA 상에 영구 불변으로 상주하기 때문이다. 정적 매크로를 포함하는 설계와 각각의 재구성 가능한 매크로에 대한 특정 콘텍스트의 구현을 디바이스 콘텍스트라고 부른다. 각각의 디바이스 콘텍스트는 그 설계에서의 정적 논리와 각각의 재구성 가능한 매크로에 대한 특정 매크로 콘텍스트의 선택에 의해서 정의된다. 재구성 가능한 매크로는 다수의 기능적 콘텍스트를 갖지만, 정적 매크로는 단일의 기능적 콘텍스트를 갖는다. 정적 매크로는 고정형 논리망을 포함하지만, 재구성 가능한 매크로는 그렇지 않다. 대신에 각각의 재구성 가능한 매크로는 매크로 콘텍스트 세트에 의해 정의된다.
동적으로 재구성 가능한 논리 설계는 VHDL, Verilog 또는 Schematic Capture 등 산업 표준 설계 엔트리 포맷에 의해 지정된다. 그 설계에서의 재구성 가능한 논리는 각각의 재구성 가능한 매크로의 각각의 콘텍스트에 대한 독립적인 네트리스트 세트에 의해 정의된다. 초기 디바이스 콘텍스트는 그 설계에서의 모든 정적 논리를 포함하는 네트리스트로서 정의되며, 그 초기 콘텍스트는 각각의 구성 가능한 매크로용으로 사용된다. 도 2를 참조하면, 초기 콘텍스트 네트리스트 또는 설계 네트리스트(160)는 정적 매크로(140)와 재구성 가능한 매크로, 즉 매크로 E(155) 및 매크로 F(156) 각각에 대한 초기 콘텍스트 매크로의 망을 포함한다. 재구성 가능한 매크로 각각은 각각 특정 매크로 콘텍스트를 정의하는 매크로 네트리스트 세트(165, 166)에 의해 정의된다.
도 3은 본 발명의 물리적 설계 과정을 보여준다. 전술한 바와 같이, 설계 엔트리 단계(12)는 임의의 산업 표준 설계 엔트리 포맷에 의해 기입된다. 설계 엔트리는 설계 네트리스트(14)와 재구성 가능한 매크로 각각에 대한 매크로 네트리스트(16)를 지정한다. 설계 네트리스트(14)와 매크로 네트리스트(16)는 FPGA 물리적 설계 툴(18)에 입력으로서 제공된다. 물리적 설계 툴(18)은 설계에서의 정적 논리와 재구성 가능한 논리 양자 모두를 컴파일하는 데 사용된다. 물리적 설계 툴 프레임워크에서, 평면 계획, 배치 및 배선을 포함하는 컴파일의 중요 단계는 수동으로 또는 자동으로 수행될 수 있다. 본 발명의 방법은 이 과정의 물리적 설계 툴 기능으로 구현된다. 컴파일 과정의 자동화는 설계자가 FPGA 아키텍처 및 툴에 대한 상세한 지식에 대한 요구로부터 해방된다는 것을 의미한다. 자동화는 또한 빠른 설계 전환을 가능하게 하고, 목표 아키텍처에 대한 전기적인 설계 규정을 위반하지 않도록 보장하며, FPGA 자원에 대한 런타임 경쟁으로부터 보호할 수 있다. 물리적 설계 툴은 설계 내에서의 정적 논리 및 재구성 가능한 논리에 대한 구성 비트스트림 및 재구성 비트스트림을 발생시킬 수 있는 기능을 포함한다. 도 3에는 2개의 상이한 소프트웨어 툴 흐름이 있다. 하나의 소프트웨어 툴 흐름은 재구성 가능한 하드 매크로 생성을 위한 것으로서, 매크로 흐름(22)으로 표시되며, 다른 소프트웨어 툴 흐름은 완전한 캐시 논리 설계 생성을 위한 것으로서, 설계 흐름(20)으로 표시된다. 재구성 가능한 하드 매크로의 개념은 목표 FPGA 아키텍처에 대한 배치 및 배선 정보를 포함하고 있다는 점에서 고정형 논리 설계에서의 정적 논리 하드 매크로의 개념과 유사하다. 그러나, 재구성 가능한 하드 매크로는 각각이 목표 아키텍처에 관한 재구성 가능한 매크로 콘텍스트의 특정 구현인 다수의 콘텍스트를 갖는다는 점에서 상이하다. 재구성 가능한 매크로는 상이한 기능적 콘텍스트를 갖지만, 재구성 가능한 하드 매크로는 상이한 기능적 및 구조적 콘텍스트를 갖는다. 매크로 흐름(22)과 설계 흐름(20)은 독립적으로 사용될 수 있다. 선택적으로, 매크로 흐름은 설계 네트리스트와 함께 매크로 콘텍스트 네트리스트를 제공함으로써 설계 흐름에서 암시적으로(implicitly) 사용될 수 있는데, 이러한 경우에 재구성 가능한 하드 매크로의 생성은 동적으로 재구성 가능한 논리 설계 흐름의 일부로서, 자동으로 수행될 것이다. 사용자 라이브러리(24)는 재구성 가능한 하드 매크로가 컴파일된 후 그것을 저장하는 데 사용된다. 도 3에 도시된 설계 과정의 최종 결과는 구성 비트스트림 파일과 재구성 비트스트림 파일의 집합이다. 3개의 상이한 종류의 비트스트림 파일이 발생된다. 설계 비트스트림(30)은 목표 FPGA에 대한 전체적인 구성 비트스트림이다. 설계 비트스트림(30)은 설계에서의 정적 논리와 각각의 재구성 가능한 매크로에 대한 초기 콘텍스트를 포함한다. 설계 비트스트림(30)은 파워 업 또는 시스템 리셋에 관한 FPGA에 대한 초기 구성으로서 사용된다. 두번째 종류의 비트스트림은 부분적인 비트스트림(32)이다. 하나의 부분적인 비트스트림(32)은 캐시 논리 설계에서 각각의 재구성 가능한 매크로 콘텍스트용으로 발생된다. 부분적인 비트스트림은 특정 매크로 콘텍스트와 그 콘텍스트를 정적논리 및 다른 별도의 재구성 가능한 매크로의 콘텍스트에 상호 연결하는 것에 관한 구성 데이터만을 포함한다. 부분적인 비트스트림(32)은 진행되는 매크로 콘텍스트에 상관없이 목표 FPGA에 적용될 수 있도록 조직화된다. 발생되는 세번째 종류의 구성 비트스트림은 증분적인 재구성 가능한 비트스트림(34)이다. 증분적인 재구성 가능한 비트스트림은 하나의 특정 콘텍스트를 특정한 재구성 가능한 매크로 내의 다른 콘텍스트로 변환하는 데 필요한 구성 데이터를 포함한다.
도 3은 FPGA 설계 과정의 일부로서 정상적으로 수행되는 시뮬레이션 단계를 보여주지 않는다. 고정형 논리 설계에 있어서, 프리 레이아웃 시뮬레이션(pre-layout simulation)은 물리적 설계 단계(18)를 진행하기 전에 수행된다. 포스트 레이아웃 시뮬레이션(post-layout simulation)은 그 설계가 배치 및 배선된 후에 수행된다. 본 명세서에 기술된 동적으로 재구성 가능한 논리 설계 흐름에 있어서는, 시뮬레이션은 FPGA에 대한 각각의 디바이스 콘텍스트를 독립적으로 검증하는 데 사용될 수 있다.
도 4는 완전한, 동적으로 재구성 가능한 논리 설계를 생성하기 위한 소프트웨어 설계 흐름(20)을 도시하고 있다. 설계 흐름의 과정(20)은 설계 네트리스트를 판독하는 단계(40)에서 시작한다. 재구성 가능한 하드 매크로 콘텍스트에 상응하는 설계 네트리스트(14) 안의 모든 매크로는 이미 컴파일되어 매크로흐름 과정에 의해서 사용자 라이브러리(24) 안에 저장되었을 것이며, 이것에 관해서는 도 5를 참고하여 후술할 것이다. 재구성 가능한 하드 매크로 콘텍스트에 상응하는 설계 네트리스트(14) 안의 매크로는 콘텍스트 네트리스트(36)로 표기되어 있고, 또한 이 단계중에 사용자 라이브러리로부터 판독될 것이다. 그 외에, 사용자의 지시 하에서, 설계 네트리스트(14) 안의 매크로는 아직 어떠한 배치 정보 또는 배선 정보도 포함하고 있지 않은 재구성 가능한 매크로와 연결지어질 수 있다. 아직 어떠한 배치 정보 또는 배선 정보도 포함하고 있지 않은 이들 재구성 가능한 매크로는 재구성 가능한 소프트 매크로라고 알려져 있다.
설계 네트리스트(14)와 모든 콘텍스트 네트리스트(36)가 판독되고 나면, 컴파일 과정 중의 다음 단계는 사용자에 의해서 지정된 특정의 재구성 가능한 소프트 매크로에 대한 재구성 가능한 하드 매크로를 생성하는 것이다. 도 5를 참조하면, 재구성 가능한 하드 매크로를 생성하기 위한 소프트웨어 툴 흐름이 나타나 있다. 재구성 가능한 하드 매크로(22)를 생성하기 위한 방법은 설계 흐름(20)의 이전에 이용함은 물론, 설계 네트리스트를 판독하는 단계(40) 이후에도 이용하여, 재구성 가능한 소프트 매크로를 재구성 가능한 하드 매크로로 만든다. 매크로 흐름 과정(22)은, 사용자의 지시 하에서, 매크로 콘텍스트 네트리스트(36) 세트를 판독하는 단계(60)에서 시작하여 재구성 가능한 하드 매크로를 형성할 것이다. 모든 콘텍스트 네트리스트(36)가 판독되고 나면, 사전 처리 단계(62)에서는 각 콘텍스트가 동일한 입력 포트 및 출력 포트를 갖는 것을 보장하도록 각 콘텍스트 네트리스트를 수정한다. 일반적으로, 이것은 각 콘텍스트가 특정의 디바이스 콘텍스트 안에 포함되어 있을 때 동일한 입력 접속부 및 출력 접속부를 갖도록 입력 포트와 출력 포트가 콘텍스트 네트리스트에 부가되는 것을 의미한다. 컴파일 과정 중의 다음 단계(64)는 구현할 최상의 FPGA 자원을 필요로 하는 매크로 콘텍스트를 찾는 것이다. 이 콘텍스트의 크기는, 배치 및 배선 시에, 다른 모든 콘텍스트가 내부에 배치 및 배선될 경계 구역(bounding box)을 정의할 것이다. 최대 콘텍스트가 선택되고 나면, 다음 단계(66)는 그 최대 콘텍스트를 FPGA 상에 배치 및 배선하는 것이다. 다른 모든 콘텍스트를 배치 및 배선하는 것은 그 콘텍스트와 초기 콘텍스트간의 배치 일치 부분을 계산하는 단계와, 그 콘텍스트를 FPGA 상에 배치 및 배선하는 단계를 포함하는 반복 절차이다. 각 콘텍스트마다, 매칭 알고리즘은 처음에는 I/O 포트를 갖는 구성 요소를 초기 콘텍스트의 I/O 구성 요소와 동일한 위치 상에 배치하려고 할 것이다. 그와 같이 하면, 상이한 콘텍스트 상의 I/O 포트는 FPGA 상의 동일한 위치에 대략 자리잡게 된다. I/O 포트 구성 요소가 배치되고 나면, 다음 단계는 남은 구성 요소와 초기 콘텍스트간의 최상의 구조적 일치 부분을 찾는 것이다. 기능과 구조를 매칭시킴으로써, 증분적인 비트스트림의 크기, 즉 재구성 레이턴시가 최소화될 것이다. 이 과정, 즉 모든 콘텍스트가 배치 및 배선되었는 지의 여부를 판단하는 것(68), 남은 콘텍스트가 존재한다면 다음 콘텍스트를 선택하는 것(72), 초기 콘텍스트와의 최상의 일치 부분을 찾는 것(74), 및 콘텍스트를 배치 및 배선하는 것(66)을 수행하는 과정은 모든 콘텍스트의 배치 및 배선을 마칠 때까지 계속된다. 모든 콘텍스트가 배치 및 배선되고 나면, 재구성 하드 매크로는 컴파일되고, 사용자 라이브러리(24)에 저장되어, 동적으로 재구성 가능한 논리 설계에 이용된다.
다시 도 4를 참고하면, 재구성 가능한 소프트 매크로를 재구성 가능한 하드 매크로로 컴파일하는 단계(22) 후에, 다음 단계는 재구성 가능한 매크로에 대한 모든 자원을 고정(44)시키고 나서, 재구성 가능한 매크로의 초기 콘텍스트를 포함하고 있는 초기 디바이스 콘텍스트를 배치 및 배선(45)하는 것이다. 재구성 가능한 하드 매크로의 경우에는, 모든 콘텍스트에 대한 배치 및 배선 정보를 이용해서, 초기 콘텍스트의 배치와 관련하여 어떤 자원(예컨대, 버스 세그먼트, 버스 컴퓨터 접속부, 코어 셀 또는 코어 셀의 부분 등)이 정적 논리에 의한 이용으로부터 고정 해제, 또는 확보해 두어야 할 지를 판단한다. 이것은 정적 논리와 재구성 가능한 논리간의 FPGA 자원에 대한 경쟁이 전혀 없도록 보증한다. 자원에 대한 차단은 재구성 가능한 매크로 콘텍스트가 처음 배치될 때에 일어나며, 이미 배치되어 있는 정적 논리를 확보된 FPGA 자원으로부터 이동시킬 것을 요구할 수도 있다. 재구성 가능한 매크로의 콘텍스트에 의해서 이용되는 세부 자원만을 정적 논리에 의한 이용으로부터 고정하기 때문에, 정적 논리의 배치 및 배선에 있어서 FPGA 자원을 선택하여 이용할 수 있게 된다. 재구성 가능한 하드 매크로의 전체 경계 구역 내부에 있는 모든 자원을 고정 해제해야 할 필요는 없다. 따라서, 재구성 가능한 하드 매크로는 형상이 불규칙할 수 있고, 정적 논리 매크로와 배선 사이에 산재되어 있을 수 있다.
초기 디바이스 콘텍스트의 배치 및 배선이 완료되면, 모든 재구성 가능한 매크로의 모든 콘텍스트에 대한 FPGA 상의 배치 위치는 잠재적으로 정해진다(즉, 재구성 가능한 매크로의 각 콘텍스트는 그 매크로의 초기 콘텍스트와 동일한 위치에 배치될 것이다). 그 외에도, 정적 논리의 배치 및 배선 역시 모든 디바이스 콘텍스트에 대해서 정해진다. 그러나, 사용자는 이 시점에서 개입하여 정적 및 재구성 가능한 논리의 배치 및 배선을 수동으로 수정할 수 있다. 재구성 가능한 매크로 콘텍스트의 배치에 대해 행해지는 모든 변경에 의해서, 그 매크로의 다른 모든 콘텍스트의 배치는 동일 위치로 이동하게 될 것이다. 재구성 가능한 매크로 상의 I/O 포트 접속부는 모든 콘텍스트에 대해서 FPGA 상의 동일 위치에 있을 수도 있고 있지 않을 수도 있기 때문에, 정적 논리 매크로에 접속하는 물리적 배선이 각 콘텍스트마다 다를 수 있다. 따라서, 재구성 가능한 매크로의 각 콘텍스트 배치는 디바이스 콘텍스트 내부의 다른 정적 매크로에 접속하기 위한 관련 물리적 배선을 갖는다. 상이한 재구성 가능한 매크로 사이를 접속하는 경우에는, 특정의 콘텍스트들이 접속되어 있는 지에 무관하게, 동일한 물리적 배선을 이용하는 것을 보증하는 데 주의를 기울여야 한다.
컴파일 과정은 디바이스 콘텍스트를 갱신하고 컴파일하는 반복 과정이 계속된다. 디바이스 콘텍스트를 갱신하기 위해서, 각 재구성 가능한 매크로마다 콘텍스트를 임의로 선택한다. 이어서, 재구성 가능한 매크로에 대한 이전의 콘텍스트를 동일한 FPGA 위치에서, 새롭게 선택한 콘텍스트로 대체한다(48). 설계 상의 정적 논리는 배치 및 배선된 채 유지되지만, 재구성 가능한 매크로와 기타의 매크로간의 물리적 배선은 제거되고 이전의 매크로 콘텍스트와 함께 저장된다. 따라서, 갱신된 디바이스 콘텍스트의 컴파일은 디바이스 콘텍스트 안에서 새로운 콘텍스트 매크로와 기타의 매크로간의 접속을 위한 물리적 배선만을 필요로 한다. 초기 디바이스 콘텍스트를 비롯하여 동적으로 재구성 가능한 논리 설계의 컴파일을 완료하는데 필요한 반복 횟수는 최대 수의 콘텍스트를 갖는 재구성 가능한 매크로 안의 콘텍스트수와 같다. 그 과정은 모든 콘텍스트를 선택하고, 갱신하며 배치 및 배선할 때까지 계속된다. 끝으로, 컴파일 과정을 완료한 후, 소프트웨어는 자동으로, 또는 사용자의 지시 하에서, 전체적인, 부분적인, 및 증분적인 비트스트림을 발생시킨다.

Claims (8)

  1. 동적으로 재구성 가능한 논리 회로의 물리적 설계를 구현하는 방법으로서,
    정적 매크로 세트와 재구성 가능한 매크로 콘텍스트 세트를 포함하고 있는 설계 네트리스트를 판독하는 단계와,
    복수 개의 재구성 가능한 매크로의 각각 - 상기 각 재구성 가능한 매크로는 상기 설계 네트리스트 안의 상기 재구성 가능한 매크로 콘텍스트 세트 중 하나에 상응함 - 을 판독하는 단계와,
    상기 논리 회로 상의 한 위치에 초기 디바이스 콘텍스트 - 상기 초기 디바이스 콘텍스트는 상기 정적 매크로 세트에 대한 그리고 상기 복수 개의 재구성 가능한 매크로 각각에 대한 초기 매크로 콘텍스트를 포함함 - 를 배치 및 배선하는 단계와,
    상기 재구성 가능한 매크로 콘텍스트가 모두 배치 및 배선되었는 지의 여부를 판단하는 단계와,
    상기 재구성 가능한 매크로 콘텍스트가 모두 배치 및 배선되지 않았다면 다음의 재구성 가능한 매크로 콘텍스트를 선택하는 단계와,
    상기 선택된 다음의 매크로 콘텍스트를 기초로 하여 상기 디바이스 콘텍스트를 갱신하는 단계와,
    상기 갱신된 디바이스 콘텍스트를 상기 논리 회로 상에 배치 및 배선하는 단계와,
    상기 재구성 가능한 매크로 콘텍스트를 모두 배치 및 배선할 때까지 상기 판단 단계, 상기 선택 단계, 상기 갱신 단계 및 상기 배치 및 배선 단계를 반복하는 단계와,
    상기 논리 회로에 대한 비트스트림 세트를 발생시키는 단계
    를 포함하는 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  2. 제1항에 있어서,
    상기 설계 네트리스트를 판독하기 전에 복수 개의 재구성 가능한 매크로의 각각을 컴파일하는 단계와,
    상기 재구성 가능한 매크로를 사용자 라이브러리에 저장하는 단계
    를 더 포함하는 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  3. 제2항에 있어서,
    상기 복수 개의 재구성 가능한 매크로의 각각을 컴파일하는 단계는,
    특정의 재구성 가능한 매크로에 상응하는 콘텍스트 네트리스트 세트를 판독하는 단계와,
    제1 콘텍스트 세트의 각각이 동일 세트의 입력 포트 및 출력 포트를 갖도록 상기 콘텍스트 네트리스트 세트 안의 각 콘텍스트 네트리스트를 수정하는 단계와,
    상기 제1 콘텍스트 세트 중에서 최대 콘텍스트를 선택하는 단계와,
    상기 최대 콘텍스트를 상기 논리 회로 상에 배치 및 배선하는 단계와,
    상기 제1 콘텍스트 세트 중에서 다음의 콘텍스트를 선택하는 단계와,
    상기 다음의 콘텍스트와 상기 최대 콘텍스트간의 배치 일치 부분을 계산하는 단계와,
    상기 다음의 콘텍스트를 상기 논리 회로 상에 배치 및 배선하는 단계와,
    상기 제1 콘텍스트 세트 안의 모든 콘텍스트에 대해서 상기 선택 단계와 상기 배치 및 배선 단계를 반복하는 단계를 포함하는 것인 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  4. 제3항에 있어서,
    상기 복수 개의 재구성 가능한 매크로는 재구성 가능한 하드 매크로와 재구성 가능한 소프트 매크로를 포함하며, 상기 재구성 가능한 하드 매크로는 상기 설계 네트리스트를 판독하기 전에 컴파일되고, 상기 재구성 가능한 소프트 매크로는 상기 설계 네트리스트를 판독한 후에 컴파일되는 것인 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  5. 제1항에 있어서,
    발생된 상기 비트스트림 세트는 정적 논리 세트와 초기 콘텍스트 세트를 포함하는 제1 비트스트림을 포함하며, 각 초기 콘텍스트는 상기 복수 개의 재구성 가능한 매크로 중 하나에 상응하는 것인 동적으로 재구성 가능한 논리 회로의 물리적설계 구현 방법.
  6. 제1항에 있어서,
    발생된 상기 비트스트림 세트는 특정의 매크로 콘텍스트에 관한 구성 데이터 세트를 포함하는 제2 비트스트림을 포함하는 것인 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  7. 제1항에 있어서, 발생된 상기 비트스트림 세트는 제1 디바이스 콘텍스트를 제2 디바이스 콘텍스트로 변환하기 위한 구성 데이터 세트를 포함하는 제3 비스트스트림을 포함하는 것인 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
  8. 재구성 가능한 논리 회로의 물리적 설계를 구현하는 방법으로서,
    복수 개의 재구성 가능한 매크로 중에서 특정의 재구성 가능한 매크로에 상응하는 콘텍스트 네트리스트 세트를 판독하는 단계와,
    제1 콘텍스트 세트의 각각이 동일 세트의 입력 포트 및 출력 포트를 갖도록 상기 콘텍스트 네트리스트 안의 각 콘텍스트 네트리스트를 수정하는 단계와,
    상기 제1 콘텍스트 세트 중에서 최대 콘텍스트를 선택하는 단계와,
    상기 최대 콘텍스트를 상기 논리 회로 상에 배치 및 배선하는 단계와,
    상기 제1 콘텍스트 세트 중에서 다음의 콘텍스트를 선택하는 단계와,
    상기 다음의 콘텍스트와 상기 최대 콘텍스트간의 배치 일치 부분을 계산하는 단계와,
    상기 다음의 콘텍스트를 상기 논리 회로 상에 배치 및 배선하는 단계와,
    상기 제1 콘텍스트 세트 안의 모든 콘텍스트에 대해서 상기 선택 단계와 상기 배치 및 배선 단계를 반복하는 단계
    를 포함하는 재구성 가능한 논리 회로의 물리적 설계 구현 방법.
KR1020027007616A 1999-12-14 2000-11-02 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법 KR20030016210A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/460,069 1999-12-14
US09/460,069 US6678646B1 (en) 1999-12-14 1999-12-14 Method for implementing a physical design for a dynamically reconfigurable logic circuit

Publications (1)

Publication Number Publication Date
KR20030016210A true KR20030016210A (ko) 2003-02-26

Family

ID=23827292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027007616A KR20030016210A (ko) 1999-12-14 2000-11-02 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법

Country Status (9)

Country Link
US (1) US6678646B1 (ko)
EP (1) EP1250757A2 (ko)
JP (1) JP2003518666A (ko)
KR (1) KR20030016210A (ko)
CN (2) CN1641651A (ko)
CA (1) CA2393971A1 (ko)
NO (1) NO20022762L (ko)
TW (1) TW527549B (ko)
WO (1) WO2001045258A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793006B2 (en) 2003-12-05 2010-09-07 Electronics And Telecommunications Research Institute Method and apparatus for managing reconfiguration data memory with a preservation data storing buffer in the target system and server

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915518B1 (en) * 2000-07-24 2005-07-05 Xilinx, Inc. System and method for runtime reallocation of PLD resources
US7509682B2 (en) * 2001-02-05 2009-03-24 Lg Electronics Inc. Copy protection method and system for digital media
JP3921367B2 (ja) 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
US6992925B2 (en) * 2002-04-26 2006-01-31 Kilopass Technologies, Inc. High density semiconductor memory cell and memory array using a single transistor and having counter-doped poly and buried diffusion wordline
US7017140B2 (en) 2002-08-29 2006-03-21 Bae Systems Information And Electronic Systems Integration Inc. Common components in interface framework for developing field programmable based applications independent of target circuit board
US20040045007A1 (en) 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US7042772B2 (en) * 2002-09-26 2006-05-09 Kilopass Technology, Inc. Methods and circuits for programming of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric
US7031209B2 (en) * 2002-09-26 2006-04-18 Kilopass Technology, Inc. Methods and circuits for testing programmability of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric
US20040136241A1 (en) * 2002-10-31 2004-07-15 Lockheed Martin Corporation Pipeline accelerator for improved computing architecture and related system and method
US6924664B2 (en) * 2003-08-15 2005-08-02 Kilopass Technologies, Inc. Field programmable gate array
CN100412801C (zh) * 2003-09-30 2008-08-20 三洋电机株式会社 备有可重构电路的处理装置、集成电路装置
US7064973B2 (en) * 2004-02-03 2006-06-20 Klp International, Ltd. Combination field programmable gate array allowing dynamic reprogrammability
US6972986B2 (en) * 2004-02-03 2005-12-06 Kilopass Technologies, Inc. Combination field programmable gate array allowing dynamic reprogrammability and non-votatile programmability based upon transistor gate oxide breakdown
US20050218929A1 (en) * 2004-04-02 2005-10-06 Man Wang Field programmable gate array logic cell and its derivatives
US9123572B2 (en) 2004-05-06 2015-09-01 Sidense Corporation Anti-fuse memory cell
US8735297B2 (en) 2004-05-06 2014-05-27 Sidense Corporation Reverse optical proximity correction method
WO2005109516A1 (en) 2004-05-06 2005-11-17 Sidense Corp. Split-channel antifuse array architecture
US7755162B2 (en) 2004-05-06 2010-07-13 Sidense Corp. Anti-fuse memory cell
US7509618B1 (en) * 2004-05-12 2009-03-24 Altera Corporation Method and apparatus for facilitating an adaptive electronic design automation tool
US7164290B2 (en) * 2004-06-10 2007-01-16 Klp International, Ltd. Field programmable gate array logic unit and its cluster
US20050275427A1 (en) * 2004-06-10 2005-12-15 Man Wang Field programmable gate array logic unit and its cluster
US7519823B1 (en) 2004-08-12 2009-04-14 Xilinx, Inc. Concealed, non-intrusive watermarks for configuration bitstreams
US7343578B1 (en) * 2004-08-12 2008-03-11 Xilinx, Inc. Method and system for generating a bitstream view of a design
US7406673B1 (en) 2004-08-12 2008-07-29 Xilinx, Inc. Method and system for identifying essential configuration bits
US7135886B2 (en) * 2004-09-20 2006-11-14 Klp International, Ltd. Field programmable gate arrays using both volatile and nonvolatile memory cell properties and their control
EP1806847B1 (en) 2004-10-28 2010-02-17 IP Flex Inc. Data processing device having reconfigurable logic circuit
US7337104B2 (en) * 2005-02-03 2008-02-26 International Business Machines Corporation Device emulation in programmable circuits
JP4568143B2 (ja) * 2005-02-28 2010-10-27 株式会社東芝 安全系装置の検証方法およびその検証方法で検証された安全系装置
US7493578B1 (en) 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
CN1848120B (zh) * 2005-04-04 2010-04-28 华为技术有限公司 实现网表文件传到印刷电路板文件的方法
US7193436B2 (en) * 2005-04-18 2007-03-20 Klp International Ltd. Fast processing path using field programmable gate array logic units
US7640526B1 (en) * 2005-09-12 2009-12-29 Xilinx, Inc. Modular partial reconfiguration
US7509617B1 (en) * 2005-09-12 2009-03-24 Xilinx, Inc. Design methodology to support relocatable bit streams for dynamic partial reconfiguration of FPGAs to reduce bit stream memory requirements
US7444276B2 (en) * 2005-09-28 2008-10-28 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
US20070074000A1 (en) * 2005-09-28 2007-03-29 Liga Systems, Inc. VLIW Acceleration System Using Multi-state Logic
US7600210B1 (en) * 2005-09-28 2009-10-06 Xilinx, Inc. Method and apparatus for modular circuit design for a programmable logic device
US20070073999A1 (en) * 2005-09-28 2007-03-29 Verheyen Henry T Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register
US7363599B1 (en) 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7496869B1 (en) 2005-10-04 2009-02-24 Xilinx, Inc. Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
US20070129926A1 (en) * 2005-12-01 2007-06-07 Verheyen Henry T Hardware acceleration system for simulation of logic and memory
US20070129924A1 (en) * 2005-12-06 2007-06-07 Verheyen Henry T Partitioning of tasks for execution by a VLIW hardware acceleration system
US20070150702A1 (en) * 2005-12-23 2007-06-28 Verheyen Henry T Processor
US7739092B1 (en) * 2006-01-31 2010-06-15 Xilinx, Inc. Fast hardware co-simulation reset using partial bitstreams
US7761272B1 (en) 2006-03-10 2010-07-20 Xilinx, Inc. Method and apparatus for processing a dataflow description of a digital processing system
US7380232B1 (en) 2006-03-10 2008-05-27 Xilinx, Inc. Method and apparatus for designing a system for implementation in a programmable logic device
US8402409B1 (en) * 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US20070283311A1 (en) * 2006-05-30 2007-12-06 Theodore Karoubalis Method and system for dynamic reconfiguration of field programmable gate arrays
US7640527B1 (en) * 2006-06-29 2009-12-29 Xilinx, Inc. Method and apparatus for partial reconfiguration circuit design for a programmable device
JP4998806B2 (ja) * 2006-08-31 2012-08-15 富士ゼロックス株式会社 再構成可能なデバイスに回路デザインを実装するための方法およびシステム
US7847730B2 (en) 2006-09-27 2010-12-07 Bae Systems Information And Electronic Systems Integration, Inc. Software defined navigation signal generator
JP4787711B2 (ja) * 2006-10-02 2011-10-05 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム
US7853805B1 (en) * 2007-02-02 2010-12-14 Hrl Laboratories, Llc Anti-tamper system
CN101242203B (zh) 2007-02-07 2012-01-11 电信科学技术研究院 一种实现控制信道功率控制的方法及装置
DE102007022970A1 (de) * 2007-05-16 2008-11-20 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur dynamischen Rekonfiguration eines Funkkommunikationssystems
JP5141151B2 (ja) 2007-09-20 2013-02-13 富士通セミコンダクター株式会社 動的再構成回路およびループ処理制御方法
JP5119902B2 (ja) * 2007-12-19 2013-01-16 富士通セミコンダクター株式会社 動的再構成支援プログラム、動的再構成支援方法、動的再構成回路、動的再構成支援装置および動的再構成システム
CN101246510B (zh) * 2008-02-28 2010-12-29 复旦大学 可编程逻辑器件硬件结构通用建模方法
CN101677284B (zh) * 2008-09-19 2014-02-19 中国人民解放军信息工程大学 一种可下载到可重构硬件体的硬件构件生成方法和装置
CN101702184B (zh) * 2009-11-19 2012-05-30 复旦大学 动态可重构总线宏结构
CN102118157B (zh) * 2009-12-30 2013-04-17 华为技术有限公司 一种fpga的加载方法和装置
CN101771408B (zh) * 2010-01-05 2012-05-02 中国人民解放军信息工程大学 一种fpga硬件构件的生成方法及装置
CN101814316B (zh) * 2010-04-28 2012-05-30 中国航天科技集团公司第五研究院第五一三研究所 一种静态存储型现场可编程逻辑门阵列的配置方法
CN102375906B (zh) * 2010-08-27 2013-07-24 雅格罗技(北京)科技有限公司 一种基于模式匹配的fpga逻辑综合方法
CN102063410B (zh) * 2010-10-22 2012-05-23 中国科学技术大学 一种基于可编程硬件计算平台的计算机
CN101976431A (zh) * 2010-11-02 2011-02-16 公安部第三研究所 一种基于动态可重构技术的通用图像处理平台及其实现方法
JP5798378B2 (ja) * 2011-05-30 2015-10-21 キヤノン株式会社 装置、処理方法、およびプログラム
US8332798B2 (en) * 2011-03-08 2012-12-11 Apple Inc. Using synthesis to place macros
CN102779194A (zh) * 2011-05-10 2012-11-14 中国科学院微电子研究所 一种基于soi的fpga结构的码流生成方法和装置
CN102841953B (zh) * 2011-06-23 2015-05-27 中国科学院微电子研究所 一种基于宏设计集成电路版图的方法
JP6290855B2 (ja) * 2013-03-01 2018-03-07 アクシオンリサーチ株式会社 データ処理装置およびその制御方法
EP2894572B1 (en) 2014-01-09 2018-08-29 Université de Rennes 1 Method and device for programming a FPGA
EP2945082B1 (de) 2014-05-13 2019-07-10 dSPACE digital signal processing and control engineering GmbH Verfahren zur automatischen Erstellung eines FPGA-Programms
CN104133692A (zh) * 2014-06-13 2014-11-05 大连梯耐德网络技术有限公司 一种基于fpga动态重构技术实现对tcam的多元化配置系统及配置方法
CN104536755B (zh) * 2014-12-29 2019-05-10 深圳市国微电子有限公司 可编程逻辑器件重构方法及装置
CN106294278B (zh) * 2016-08-01 2019-03-12 东南大学 用于动态可重构阵列计算系统的自适硬件预配置控制器
US20180054359A1 (en) * 2016-08-19 2018-02-22 International Business Machines Corporation Network attached reconfigurable computing device
US10250572B2 (en) * 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US10162921B2 (en) 2016-09-29 2018-12-25 Amazon Technologies, Inc. Logic repository service
US10642492B2 (en) 2016-09-30 2020-05-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
US10824786B1 (en) * 2016-10-05 2020-11-03 Xilinx, Inc. Extend routing range for partial reconfiguration
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider
US10764129B2 (en) * 2017-04-18 2020-09-01 Amazon Technologies, Inc. Logic repository service supporting adaptable host logic
US10164639B1 (en) * 2017-11-14 2018-12-25 Advanced Micro Devices, Inc. Virtual FPGA management and optimization system
US10608641B2 (en) * 2018-07-20 2020-03-31 Xilinx, Inc. Hierarchical partial reconfiguration for programmable integrated circuits
US11985023B2 (en) 2018-09-27 2024-05-14 Juniper Networks, Inc. Supporting graphQL based queries on yang based configuration data models
US10892952B2 (en) 2019-02-21 2021-01-12 Juniper Networks, Inc. Supporting compilation and extensibility on unified graph-based intent models
US10897396B2 (en) 2019-03-29 2021-01-19 Juniper Networks, Inc. Supporting concurrency for graph-based high level configuration models
US10841182B2 (en) 2019-03-29 2020-11-17 Juniper Networks, Inc. Supporting near real time service level agreements
EP3722944A1 (en) 2019-04-10 2020-10-14 Juniper Networks, Inc. Intent-based, network-aware network device software-upgrade scheduling
US11165647B2 (en) 2019-06-28 2021-11-02 Juniper Networks, Inc. Managing multiple semantic versions of device configuration schemas
US11687279B2 (en) * 2020-01-27 2023-06-27 Samsung Electronics Co., Ltd. Latency and throughput centric reconfigurable storage device
US11579894B2 (en) * 2020-10-27 2023-02-14 Nokia Solutions And Networks Oy Deterministic dynamic reconfiguration of interconnects within programmable network-based devices
US11886789B1 (en) 2021-07-07 2024-01-30 Xilinx, Inc. Block design containers for circuit design
CN113836845B (zh) * 2021-09-13 2024-07-19 深圳市紫光同创电子有限公司 一种局部动态重配的位流实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781756A (en) 1994-04-01 1998-07-14 Xilinx, Inc. Programmable logic device with partially configurable memory cells and a method for configuration
EP0685803B1 (en) * 1994-06-03 2001-04-18 Hyundai Electronics America Method of producing an electrical device adapter
US5659716A (en) * 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
US5870309A (en) * 1997-09-26 1999-02-09 Xilinx, Inc. HDL design entry with annotated timing
US6243851B1 (en) * 1998-03-27 2001-06-05 Xilinx, Inc. Heterogeneous method for determining module placement in FPGAs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793006B2 (en) 2003-12-05 2010-09-07 Electronics And Telecommunications Research Institute Method and apparatus for managing reconfiguration data memory with a preservation data storing buffer in the target system and server

Also Published As

Publication number Publication date
TW527549B (en) 2003-04-11
US6678646B1 (en) 2004-01-13
JP2003518666A (ja) 2003-06-10
CN1434953A (zh) 2003-08-06
WO2001045258A3 (en) 2002-08-15
CN1641651A (zh) 2005-07-20
CN1254757C (zh) 2006-05-03
NO20022762L (no) 2002-08-13
NO20022762D0 (no) 2002-06-10
EP1250757A2 (en) 2002-10-23
WO2001045258A2 (en) 2001-06-21
CA2393971A1 (en) 2001-06-21

Similar Documents

Publication Publication Date Title
KR20030016210A (ko) 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법
US6817005B2 (en) Modular design method and system for programmable logic devices
US9171114B2 (en) Managing the configuration and functionality of a semiconductor design
US8001509B2 (en) Method for programming a mask-programmable logic device and device so programmed
Lysaght et al. A simulation tool for dynamically reconfigurable field programmable gate arrays
JP4481487B2 (ja) 動的再形態特定可能演算用のfpga設計方法
JP5009979B2 (ja) 処理システムでのソフトウェアプログラムの実行に基づくasicの設計
US20070283311A1 (en) Method and system for dynamic reconfiguration of field programmable gate arrays
US7249340B2 (en) Adaptable circuit blocks for use in multi-block chip design
US7509246B1 (en) System level simulation models for hardware modules
US7360177B1 (en) Method and arrangement providing for implementation granularity using implementation sets
EP1121656A2 (en) Method and apparatus for managing the configuration and functionality of a semiconductor design
Sklyarov et al. Integrated development environment for logic synthesis based on dynamically reconfigurable FPGAs
JP2016045726A (ja) 半導体集積回路の設計データのデータ構造ならびに半導体集積回路の設計装置および設計方法
Tan A multi-layer FPGA framework supporting autonomous runtime partial reconfiguration
Fawcett FPGA development tools: keeping pace with design complexity
Chang et al. Developing an Integration Platform

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid