KR20060110372A - 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 - Google Patents

프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20060110372A
KR20060110372A KR1020067018768A KR20067018768A KR20060110372A KR 20060110372 A KR20060110372 A KR 20060110372A KR 1020067018768 A KR1020067018768 A KR 1020067018768A KR 20067018768 A KR20067018768 A KR 20067018768A KR 20060110372 A KR20060110372 A KR 20060110372A
Authority
KR
South Korea
Prior art keywords
memory
module
logic circuit
programmable logic
data
Prior art date
Application number
KR1020067018768A
Other languages
English (en)
Other versions
KR100791876B1 (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 동경 엘렉트론 주식회사
Publication of KR20060110372A publication Critical patent/KR20060110372A/ko
Application granted granted Critical
Publication of KR100791876B1 publication Critical patent/KR100791876B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 프로그램 가능한 논리 회로에 의해 실행될 각종 처리에 의해 발생되는 여러 가지 비트 폭 및 데이터 길이를 갖는 데이터를 간단한 구성으로 관리할 수 있는 프로그램 가능한 논리 회로 제어 장치를 제공하는 것에 관한 것이다. 모듈 어드레스 기억부(4)는 모듈 어드레스 또는 분기 처리의 조건 및 점프의 폭을 나타내는 데이터를 페이지마다 저장하고 있다. 모듈 어드레스가 저장되는 페이지에는 내부 데이터 메모리(2)의 기록 어드레스 및 판독 어드레스도 저장되고 있다. 회로 제어부(5)는 모듈 어드레스 기억부(4)의 각 페이지의 데이터를 판독하고, 그 판독된 데이터에 따라서 모듈의 판독, 프로그램 가능한 논리 회로의 재구성, 다음 페이지의 데이터 판독을 실시하거나 또는 점프를 실시한다. 또한, 프로그램 가능한 논리 회로가 재구성을 실시하는 경우에는 상기 회로 제어부(5)는 내부 데이터 메모리(2)로 기록 어드레스나 판독 어드레스를 공급하는 동작도 실시한다.

Description

프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한 논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체{PROGRAMMABLE LOGIC CIRCUIT CONTROL APPARATUS, PROGRAMMABLE LOGIC CIRCUIT CONTROL METHOD AND PROGRAM}
본 발명은 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한 논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 관한 것이다.
필드 프로그램 가능한 게이트 어레이(FPGA)(예컨대, 미국의 XILINX사의 XC 시리즈 등)와 프로그램 가능한 논리 디바이스(PLD) 등의 프로그램 가능한 논리 회로가 주문형 집적 회로(ASIC)로서 폭넓게 사용되고 있다. 이 프로그램 가능한 논리 회로는 로딩된 회로 정보에 기초해서 내부 논리 회로의 논리적 구성을 자유롭게 변경할 수 있도록 하는 특성을 가지고 있다. 이들 프로그램 가능한 논리 회로들은 ASIC 사양의 변경 기간 및 ASIC 제품의 개발 기간을 단축시키는 데 기여한다.
그러나, 최근에는 ASIC에 요구되는 논리적 구성은 더욱 복잡하게 되어 가고, 집적도 증가 되고 있다. 이 때문에, 프로그램 가능한 논리 회로를 이용해서 ASIC를 구성하는 경우에 대해서는 프로그램 가능한 논리 회로를 몇 개 내지 수십 개 사용 하는 경우도 발생하고 있다.
그런데, 대규모 논리 회로에 대해도, 전체 프로그램 가능한 논리 회로의 모두가 항상 동작하고 있는 것은 아니다. 이와 관련해서, 동일한 프로그램 가능한 논리 회로가 다른 시간에 다른 기능을 실현하도록 프로그램 가능한 논리 회로를 재구성하는 것이 제안되고 있다(예를 들면, 일본 특허 공개 공보 제2001-202236호 참조). 프로그램 가능한 논리 회로의 재구성을 행함으로써 ASIC의 규모를 소형으로 할 수 있다.
그러나, 프로그램 가능한 논리 회로를 재구성하기 위해서 전체 프로그램 가능한 논리 회로의 회로 정보를 재차 로딩할 필요가 있다. 또한, 처리 도중에 재구성하는 경우에는, 해당 처리를 중단하고, 그 중단된 시점에서 사용되고 있던 데이터를 저장(save)해 두고서, 새로운 프로그램 가능한 논리 회로의 회로 정보 및 그 새로운 프로그램 가능한 논리 회로에 의해 처리될 대상의 새로운 데이터를 로딩 처리할 필요가 있다. 이러한 재구성에는 시간이 걸린다. 데이터의 입력에 소비되는 시간과 데이터의 로딩 시간을 단축시키기 위해서, 프로그램 가능한 논리 회로에 캐시 기억 장치를 구비하도록 하여 그 시간을 단축시키고 있는 일본 특허 공개 공보 제2001-202236호에 개시된 것과 같은 몇 가지 방식이 제안되고 있다.
그러나, 프로그램 가능한 논리 회로에 의해 실시하는 각 처리에 대해서는, 그 처리 과정에서 생성하는 데이터의 비트 폭이나 데이터 길이가 처리마다 상이한 것이 통상적이다. 따라서, 프로그램 가능한 논리 회로의 재구성시에, 상기 프로그램 가능한 논리 회로에 의해 실시하는 각 처리 과정에서 생성된 데이터를 저장하기 위한 기억 영역을 설치할 필요가 있었다. 이 때문에, 캐시 기억 장치의 기억 영역의 소요량이 현저하게 증가하게 되어, 프로그램 가능한 논리 회로의 구성이 복잡하게 되는 문제점이 발생하고 있었다.
따라서, 본 발명은 전술한 실정을 감안하여 이루어진 것으로서, 본 발명의 목적은 프로그램 가능한 논리 회로가 실행하는 다양한 처리에 의해 발생하는 여러 가지의 비트 폭 내지 데이터 길이의 데이터를 간단한 구성으로 관리할 수 있는 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한 논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공하는 데 있다.
상기 목적을 달성하기 위해서, 본 발명의 제1 실시 형태에 따르면, 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 취득하고, 상기 취득된 모듈에 기초해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 시스템으로서,
제어 대상의 상기 프로그램 가능한 논리 회로에 제어 신호를 공급함으로써 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 제어하는 컨트롤러와;
제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 모듈 메모리와;
순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈의 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리와;
제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 수신해서 상기 신호에 의해 나타낸 값을 저장하는 노드 값 메모리
를 포함하고,
상기 노드 값 메모리는, 서로 상이한 판독 어드레스 및 서로 상이한 기록 어드레스가 각각 할당되는 복수의 메모리 위치를 포함하며, 공급된 기록 어드레스 신호에 의해 나타내는 기록 어드레스가 할당되는 메모리 위치에 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 기록하는 기록 기능과, 공급된 판독 어드레스 신호에 의해 나타내는 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 판독 기능을 포함하고,
모듈 지정 메모리의 메모리 위치에서 그 모듈 어드레스를 지정하는 데이터가 저장되는 메모리 위치에는 모듈과 관련된 판독 어드레스 및 기록 어드레스가 추가로 저장되며,
상기 컨트롤러는, 상기 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 취득하는 기능과, 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 지정 메모리로부터 취득하고 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 기능과, 상기 모듈 지정 메모리로부터 취득된 데이터에 포함되는 판독 어드레스 및 기록 어드레스를 상기 노드 값 메모리에 공급하는 기능을 포함하는 프로그램 가능한 논리 회로 제어 시스템을 제공하는 것을 특징으로 한다.
이러한 프로그램 가능한 논리 회로 제어 시스템에 의하면, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성하는 데이터 및 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 기억하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리될 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다.
상기 컨트롤러는 상기 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성될 수 있다. 이 경우, 컨트롤러에 의해 변경되는 논리적 구성의 부분에는 컨트롤러 자신을 구성하는 부분도 포함할 수 있다.
또한, 상기 노드 값 메모리는 상기 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성될 수 있다. 이 경우, 컨트롤러에 의해 변경되는 논리적 구성의 부분에는 노드 값 메모리를 구성하는 부분도 포함할 수 있다.
컨트롤러 및/또는 노드 값 메모리가 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로서 형성되고 있으면, 상기 프로그램 가능한 논리 회로의 물리적 구성은 더욱 간략화된다.
상기 노드 값 메모리는 상기 기록 기능 및 상기 판독 기능을 독립적으로 실시할 수 있는 방식으로 구성할 수 있다.
이 경우, 상기 컨트롤러가 기록 어드레스 및 판독 어드레스를 상기 노드 값 메모리에 공급할 수 있는 구성인 경우에는, 상기 노드 값 메모리에 대하여 신호 값의 기록 및 판독이 효율적으로 실행된다.
상기 모듈 지정 메모리는 각각의 메모리 위치에 모듈의 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 저장할 수 있다.
이 경우, 상기 컨트롤러는 다음과 같이 동작할 수 있다.
상기 컨트롤러는 상기 모듈 지정 메모리의 메모리 위치에서 취득된 데이터가 모듈 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 지정하는지의 여부를 판별한다. 상기 컨트롤러는 모듈 어드레스를 지정하는 데이터를 판별하는 경우, 상기 어드레스에 의해 나타낸 모듈을 상기 모듈 메모리로부터 취득한다. 이어서, 제어 대상의 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타낸 논리적 구성을 제어하는 제어 신호를 생성하고 상기 생성된 제어 신호를 상기 프로그램 가능한 논리 회로에 공급한다. 상기 컨트롤러는 이러한 방식으로 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경한다.
상기 컨트롤러는 다른 메모리 위치를 지정하는 모듈 지정 메모리로부터 취득된 것을 판별하는 경우에는, 다른 메모리 위치에 저장되고 있는 데이터를 상기 모듈 지정 메모리로부터 취득한다.
이러한 구성을 가지고 있으면, 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 처리가 분기 처리를 포함한 복잡한 절차인 경우에도, 그 처리는 용이하고 원활하게 실행된다.
상기 모듈 지정 메모리의 메모리 위치에 저장되는 데이터는 다른 메모리 위치를 지정하는 것인 경우, 상기 다른 메모리 위치에 저장되는 데이터를 취득하는 처리로 이동하는 조건을 지정하는 조건 정의 데이터를 포함할 수 있다.
이 경우, 상기 컨트롤러는, 상기 데이터가 다른 메모리 위치를 지정하는 것을 판별했을 때는 그 취득된 데이터에 포함되는 상기 조건 정의 데이터가 지정하는 조건을 만족하는지의 여부를 판별한다. 조건이 만족된 것으로 판별했을 때는 상기 컨트롤러는 다른 메모리 위치에 저장되고 있는 데이터를 상기 모듈 지정 메모리로부터 취득하고, 그 조건이 만족되지 않는다고 판별했을 때는 상기 컨트롤러는 다른 메모리 위치로부터의 데이터의 취득을 중지시킨다.
이러한 구성을 가지고 있으면, 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 처리가 조건 점프를 포함하는 절차인 경우라 하더라도, 그 처리는 용이하고 원활하게 실행된다.
상기 조건 정의 데이터에 의해 지정되는 조건은 예를 들면, 상기 제어 대상인 프로그램 가능한 논리 회로의 소정의 노드에서 발생되는 신호에 의해 나타내는 값과 관련될 수 있다.
이 경우, 상기 컨트롤러는 다음과 같이 동작할 수 있다.
상기 모듈 지정 메모리로부터 취득된 데이터가 다른 메모리 위치를 지정하는 것을 판별했을 때는 상기 컨트롤러는 제어 대상의 프로그램 가능한 논리 회로의 노드로부터 상기 신호를 취득한다. 다음에, 취득된 신호에 의해 나타낸 값에 기초해서 상기 컨트롤러는 상기 모듈 지정 메모리로부터 취득된 데이터에 포함되는 조건 정의 데이터에 의해 지정된 조건이 만족되고 있는지 여부를 판별한다.
상기 모듈 지정 메모리의 메모리 위치에 저장된 데이터는 상기 데이터가 모듈 어드레스 또는 다른 메모리 위치 중 하나를 지정하는 것인지를 식별하는 식별 데이터를 포함할 수 있다.
이 경우, 상기 컨트롤러는 다음과 같이 동작할 수 있다.
상기 컨트롤러는 상기 모듈 지정 메모리로부터 취득된 데이터에 포함되는 식별 데이터를 추출한 다음에, 그 취득된 데이터가 모듈 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 지정하는지 여부를 판별한다.
초기 상태에서, 컨트롤러는 순서화된 메모리 영역의 상부 영역에 저장된 모듈 어드레스에 의해 지정된 모듈를 판독하고 프로그램 가능한 논리 회로의 구조를 상기한 동작 개시 방법으로 제어할 수 있다.
이 경우, 모듈을 변경하기 위해 사전 결정된 조건이 채워진 경우에 상기 컨트롤러는 현재 실행되고 있는 모듈에 대응하는 기록 어드레스를 판독하고, 상기 기록 어드레스에 의해 지정된 메모리 영역의 현재의 논리 구조에 의해 얻어지는 값을 기록한다.
다음에, 상기 컨트롤러는 다음에 실행될 모듈의 어드레스를 페치하고, 판독 어드레스를 획득하기 위해 모듈 지정 메모리를 참조하여 하나의 값을 판독하며, 그와 같은 경우 노드 값 메모리에 판독 어드레스의 위치에 저장하고, 그 값을 프로그램 가능한 논리 회로에 설정한 다음, 동작을 개시한다.
또한, 본 발명의 제2 실시 형태에 따른 프로그램 가능한 논리 회로 제어 장치는, 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터로 구성되는 모듈을 복수의 모듈을 저장하는 모듈 메모리로부터 취득하고, 상기 취득된 모듈에 의해 나타내는 논리적 구성을 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 장치로서,
순서화된 복수의 메모리 위치를 가지며, 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하는 데이터 취득부로서, 모듈 어드레스를 지정하는 데이터가 저장되는 모듈 지정 메모리의 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타내는 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득부와;
상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기록 어드레스 공급부와;
상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 변경부와;
상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 판독 어드레스 공급부
를 포함하는 프로그램 가능한 논리 회로 제어 장치를 제공하는 것을 특징으로 한다.
이러한 프로그램 가능한 논리 회로 제어 장치에 의하면, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터 및 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 저장하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리할 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다.
또한, 프로그램 가능한 논리 회로 제어 장치 자신 및/또는 노드 값 메모리가 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성되고 있으면, 프로그램 가능한 논리 회로를 포함하는 시스템 전체의 물리적 구성은 더욱 간략화된다.
또한, 본 발명의 제3 실시 형태에 따른 프로그램 가능한 논리 회로 제어 방법은, 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 취득하고 상기 취득된 모듈에 기초해서 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 방법으로서,
제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 단계와;
모듈 사용 순서 지정용의 순서화된 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터 및 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 취득하고, 상기 취득된 신호에 의해 나타내는 값을 저장하는 노드 값 메모리의 메모리 영역에 할당되는 판독 어드레스 및 기록 어드레스를 저장하는 단계와;
상기 모듈 사용 순서 지정용의 메모리 위치에 저장된 데이터를 취득하는 단계와;
상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 단계와;
상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 단계와;
상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 단계
를 포함하고,
상기 노드 값 메모리는, 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타내는 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장되고 있는 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 프로그램 가능한 논리 회로 제어 방법을 제공하는 것을 특징으로 한다.
이러한 프로그램 가능한 논리 회로 제어 방법에 의하면, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터나 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 저장하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리할 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다.
또한, 노드 값 메모리가 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성되고 있으면, 상기 프로그램 가능한 논리 회로 제어 방법을 실시하는 시스템 전체의 물리적 구성은 더욱 간략화된다.
또한, 본 발명의 제4 실시 형태에 따른 프로그램 가능한 논리 회로 제어 방법은, 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 복수의 모듈을 저장하는 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 방법으로서,
순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하는 데이터 취득 단계로서, 모듈 어드레스를 지정하는 데이터가 저장되는 상기 모듈 지정 메모리의 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는, 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장되는 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득 단계와;
상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기록 어드레스 공급 단계와;
상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 변경 단계와;
상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 판독 어드레스 공급 단계
를 포함하는 프로그램 가능한 논리 회로 제어 방법을 제공하는 것을 특징으로 한다.
이러한 프로그램 가능한 논리 회로 제어 방법에 의해서도, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터나 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 저장하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리할 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다. 또한, 노드 값 메모리가 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성되고 있으면, 상기 프로그램 가능한 논리 회로 제어 방법을 실시하는 시스템 전체의 물리적 구성은 더욱 간략화된다.
또한, 본 발명의 제5 실시 형태의 특징에 따른 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체는,
공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로에 제어 신호를 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 컨트롤러와;
제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 모듈 메모리와;
순서화된 복수의 메모리 위치를 가지며 상기 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리와;
제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 취득하여 상기 신호에 의해 나타낸 값을 저장하는 노드 값 메모리
를 컴퓨터에 의해 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서,
상기 노드 값 메모리는, 판독 어드레스 및 기록 어드레스가 할당되는 복수의 메모리 위치들을 포함하며, 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에 저장하는 기록 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 판독 기능을 포함하고,
상기 모듈 지정 메모리의 메모리 위치에서 그 모듈의 어드레스를 지정하는 데이터가 저장되고 있는 메모리 위치에는 판독 어드레스 및 기록 어드레스가 추가로 저장되며,
상기 컨트롤러는, 상기 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 취득하고, 상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 지정 메모리로부터 취득하며, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하고, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하여 상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 기능을 수행하는 것인 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공하는 것을 특징으로 한다.
이러한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 의하면, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터나 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 저장하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리할 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다.
또한, 본 발명의 제6 실시 형태의 특징에 따른 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체는,
공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 복수의 모듈을 저장하는 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 제어하도록 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 장치를 컴퓨터에 의해 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서,
상기 프로그램 가능한 논리 회로 제어 장치는,
순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에서 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하는 데이터 취득부로서, 모듈 지정 메모리의 메모리 위치에서 모듈 어드레스를 지정하는 데이터가 저장되는 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타내는 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장되는 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득부와;
상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기록 어드레스 공급부와;
상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 변경부와;
상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 판독 어드레스 공급부를 포함하는 것인 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공하는 것을 특징으로 한다.
이러한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 의해서도, 상기 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터나 상기 프로그램 가능한 논리 회로의 재구성에 따라 입력되는 새로운 데이터를 저장하기 위한 메모리 영역을 처리시마다 준비할 필요가 없이 간단한 구성으로 관리할 수 있다. 상이한 비트 폭이나 상이한 데이터 길이를 갖는 새로운 데이터의 경우에도 동일하게 관리될 수 있다.
또한, 노드 값 메모리가 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성되고 있는 경우, 상기 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 실시하는 컴퓨터를 포함하는 시스템 전체의 물리적 구성은 더욱 간략화된다.
전술한 바와 같이, 본 발명에 따르면, 프로그램 가능한 논리 회로에 의해 논리 연산 등의 처리 과정에서 생성되는 데이터를 간단한 구성으로 관리할 수 있는 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한 논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 실현할 수 있다.
본 발명의 이러한 목적과 다른 목적 및 장점에 대해서는 첨부 도면을 참조하여 이하의 상세한 설명을 통해서 더욱 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 프로그램 가능한 논리 회로 장치의 구성을 도시하는 도면이다.
도 2는 프로그램 가능한 논리 회로의 구성을 예시적으로 도시하는 도면이다.
도 3은 논리 회로(BIBC)의 구성을 도시하는 도면이다.
도 4는 논리 회로(BFBC)의 구성을 도시하는 도면이다.
도 5는 논리 회로(BOBC)의 구성을 도시하는 도면이다.
도 6a는 행렬 스위치의 구성을 도시하는 도면이고, 도 6b는 행렬 스위치를 구성하는 스위치들의 구성을 도시하는 도면이다.
도 7은 모듈 어드레스 기억부에 저장될 데이터의 데이터 구조를 예시적으로 도시하는 도면이다.
도 8은 회로 제어부에 의해 실시되는 처리의 흐름을 예시하는 흐름도이다.
이하에서는, 프로그램 가능한 논리 회로 제어 장치로서 본 발명의 양호한 실시예를 첨부 도면을 참조하여 설명한다.
도 1은 이 프로그램 가능한 논리 회로 제어 장치의 구성을 도시하는 도면이다. 도시된 바와 같이 이 프로그램 가능한 논리 회로 제어 장치는 프로그램 가능한 논리 회로(P)를 포함한다.
프로그램 가능한 논리 회로(P)는 예를 들면, 미국 XILINX사의 필드 프로그램 가능한 게이트 어레이(FPGA)를 구성하기 위해서 이용되고 있는 구성 가능한 논리 블록(CLB:Configurable Logic Block), 행렬 스위치 및 배선재 등으로 구성되어 있고 외부로부터 공급되거나 또는 프로그램 가능한 논리 회로(P)에 의해 생성되는 제어 신호에 따라 자기의 논리적 구성(즉, 자기에게 입력되는 신호와 자기가 출력하는 신호와의 대응 관계)을 변화(재구성)시킨다.
그리고, 프로그램 가능한 논리 회로(P)는 논리 회로부(1), 내부 데이터 메모리(2), 모듈 기억부(3), 모듈 어드레스 기억부(4) 및 회로 제어부(5)를 포함한다. 논리 회로부(1), 내부 데이터 메모리(2), 모듈 기억부(3)및 모듈 어드레스 기억부(4)는 회로 제어부(5)에 접속되도록 형성된다. 또한, 논리 회로부(1) 및 내부 데이터 메모리(2)는 서로 접속되도록 형성된다.
또한, 프로그램 가능한 논리 회로(P)는 예를 들면 외부 컴퓨터나 그 외의 외부 장치보다 내부 데이터 메모리(2), 모듈 기억부(3), 모듈 어드레스 기억부(4) 및 회로 제어부(5)의 논리적 구성을 지정하는 제어 신호의 공급을 수신한다. 이 제어 신호에 따라 자기의 논리적 구성을 변화시킴으로써, 내부 데이터 메모리(2), 모듈 기억부(3), 모듈 어드레스 기억부(4) 및 회로 제어부(5)를 변화시킨다. 그리고, 프로그램 가능한 논리 회로(P) 중에서 내부 데이터 메모리(2), 모듈 기억부(3), 모듈 어드레스 기억부(4) 및 회로 제어부(5)를 구성하지 않는 부분이 논리 회로부(1)를 구성하는 것으로 한다.
논리 회로부(1)는 예를 들면 도 2에 예시적으로 나타낸 바와 같이 입력 논리 회로(BIBC), 논리 회로(BFBC), 출력 논리 회로(BOBC), 행렬 스위치(BLSW), 배선(LVL0∼LVL4), 배선(LHL0∼LHL2)을 포함한다.
배선(LVL0∼LVL4) 및 배선(LHL0∼LHL2)은 각각 63 개의 신호선를 포함한다. 입력 논리 회로(BIBC), 논리 회로(BFBC) 및 출력 논리 회로(BOBC)는 각각 버스를 통해서 배선(LVL0∼LVL4)과 접속된다. 또한, 배선(LVL0∼LVL4) 및 배선(LHL0∼LHL2)의 상호 간은 행렬 스위치(BLSW)에 의해 전환되어 이것에 의해 가변 배선이 실현된다.
논리 회로(BIBC), 논리 회로(BFBC) 및 논리 회로(BOBC)는 예를 들면 TTL(Transistor-Transistor Logic) 회로나 CMOS(Complementary Metal-Oxide-Silicon) 논리 회로 등의 논리 회로를 포함한다.
입력 논리 회로(BIBC)는 논리 회로부(1)에 입력된 입력 신호를 회로 제어부(5)의 제어에 따라서 배선(LVL0)에 공급하는 논리 회로이다. 각각의 입력 논리 회로(BIBC)는 예를 들면 도 3에 나타낸 바와 같이 출력 선택기(OSEL1)를 포함한다.
출력 선택기(OSEL1)는 63 비트의 버스 IoA(1)∼IoA(63)를 통해서 배선(LVL0)에 접속되고 있어 논리 회로부(1)에 입력된 4 비트의 신호를 배선(LVL0)을 구성하는 신호선으로 공급한다. 다만, 출력 선택기(OSEL1)는 배선(LVL0)의 어느 신호선으로 이 신호를 공급할지를 회로 제어부(5) 등으로부터 공급되는 24 비트의 제어 신호 ConfigI의 값에 기초해서 결정하고, 그 결정된 신호선에 이 신호를 공급하는 것으로 한다. 또한, 출력 선택기(OSEL1)는 이 신호를 배선(LVL0)의 어느 신호선에도 공급하지 않도록 결정될 수도 있다.
논리 회로(BFBC)는 배선(LVL0∼LVL3)에서 공급된 신호에 회로 제어부(5)의 제어에 따른 논리 연산을 실시하여, 얻을 수 있는 신호를 배선(LVL1∼LVL4)으로 공급하는 논리 회로이다. 각각의 논리 회로(BFBC)는 예를 들면 도 4에 나타낸 바와 같이 입력 선택기(ISEL1), 기본 기능 셀(LFBC) 및 출력 선택기(OSEL2)를 포함하고 있다.
입력 선택기(ISEL1)는 63 비트의 버스 IiA(1)∼IiA(63)를 통해서 배선(LVL0) 또는 배선(LVL3)에 접속되고 있어 접속처인 배선(LVL0) 또는 배선(LVL3)으로 공급되는 신호중 6 비트의 신호를 취득해서, 기본 기능 셀(LFBC)로 공급한다. 다만, 입력 선택기(ISEL1)는 배선(LVL0) 또는 배선(LVL3)을 이루는 63 개의 신호선 중에서 어느 6 개로부터 신호를 취득할지를 회로 제어부(5) 등으로부터 공급되는 36 비트의 제어 신호 ConfigFi의 값에 기초해서 결정해서, 그 결정된 신호선으로부터 합계 6 비트의 신호를 취득하여, 기본 기능 셀(LFBC)로 공급하는 것으로 한다. 또한, 입력 선택기(ISEL1)는 배선(LVL0) 또는 배선(LVL3)의 어느 신호선으로부터도 신호를 취득하지 않는 것으로 결정될 수도 있다. 이 경우에는, 논리값“0”을 나타내는 신호를 기본 기능 셀(LFBC)로 공급하는 것으로 한다.
기본 기능 셀(LFBC)은 예를 들면 도 4에 나타낸 바와 같이 선택기(SEL)를 포함하고 있다. 선택기(SEL)는 입력 선택기(ISEL1)에서 공급되는 6 비트의 신호의 값에 기초해서 회로 제어부(5) 등에서 공급되는 130 비트의 제어 신호 ConfigFf의 1 번째∼64 번째 비트로부터 1 비트, 65 번째∼128 번째 비트로부터 1 비트, 합계 2 비트를 선택해서, 이들 2 비트의 신호(신호 XY)를 출력 선택기(OSEL2)와 내부 데이터 메모리(2)의 후술하는 입력 포토 TO에 공급한다.
또한, 기본 기능 셀(LFBC)은 신호 XY를 내부 데이터 메모리(2)에 기억시키는지 여부를 제어 신호 ConfigFf의 129 번째 및 130 번째 비트의 값에 기초해서 결정해서, 그 결정의 결과를 나타내는 제어 데이터를 내부 데이터 메모리(2)의 후술하는 인에이블 단자 EN에 공급한다. 제어 데이터는 예를 들면, 신호 XY를 기억시키는 것을 나타내는 경우에는 값“1”을 취하고, 신호 XY가 기억시키지 않는 것을 나타내는 경우에는 값“0”을 취하는 1 비트의 데이터로 되어 있으면 좋다.
출력 선택기(OSEL2)는 63 비트의 버스 IoB(1)∼IoB(63)를 통해서 배선(LVL1∼LVL4)에 접속되고 있고 기본 기능 셀(LFBC)에서 공급된 신호 XY 및 내부 데이터 메모리(2)로부터 판독되는 후술하는 출력 포토 FM에서 출력하고 있는 2 비트의 신호 QY의 합계 4 비트를 배선(LVL1∼LVL4)를 구성하는 신호선으로 공급한다. 다만, 출력 선택기(OSEL2)는 배선(LVL1∼LVL4)의 어느 신호선에 이 4 비트의 신호를 공급할지를 회로 제어부(5)로부터 공급되는 24 비트의 제어 신호 ConfigFo의 값에 기초해서 결정해서, 그 결정된 신호선에 이 신호를 공급하는 것으로 한다. 또한, 출력 선택기(OSEL2)는 이 신호를 배선(LVL1∼LVL4)의 어느 신호선에도 공급하지 않도록 결정하는 경우도 있다.
출력 논리 회로(BOBC)는 배선(LVL4)에서 공급된 신호를 회로 제어부(5)의 제어에 따라서 출력하는 논리 회로로 구성되어 있다. 각각의 논리 회로(BOBC)는 예를 들면 도 5에 나타낸 바와 같이 입력 선택기(ISEL2)와 기능 셀(OBC)을 포함하고 있 다.
입력 선택기(ISEL2)는 63 비트의 버스 IiC(1)∼IiC(63)를 통해서 배선(LVL4)에 접속되고 있어 접속처인 배선(LVL4)에서 공급되는 신호중 4 비트의 신호를 취득해서, 기능 셀(OBC)로 공급한다. 다만, 입력 선택기(ISEL2)는 배선(LVL4)을 이루는 63 개의 신호선 중에서 어느 4 개로부터 신호를 취득할지를 회로 제어부(5)에서 공급되는 28 비트의 제어 신호 ConfigO 중 1 번째∼24 번째의 비트의 값에 기초해서 결정해서, 그 결정된 신호선으로부터 합계 4 비트의 신호를 취득하여 기능 셀(OBC)로 공급하는 것으로 한다. 또한, 입력 선택기(ISEL2)는 배선(LVL4)의 어느 신호선으로부터도 신호를 취득하지 않도록 결정하는 경우도 있고, 이 경우에는 논리값“0”을 나타내는 신호를 기능 셀(OBC)로 공급하는 것으로 한다.
기능 셀(OBC)은 래치 회로를 포함하고 입력 선택기(ISEL2)에서 공급되는 4 비트의 신호의 값을 유지하거나, 또는 이 신호를 통과시킨다. 유지 또는 통과 중 어느 하나를 실시할지는 제어 신호 ConfigO 중 25 번째∼28 번째의 비트 값에 기초해서 결정한다. 그리고, 유지된 값을 가지는 신호, 또는, 통과된 신호를 신호 Y로서 외부에 출력한다. 또한, 논리 회로부(1)는 클록 신호를 외부에서 취득하는지, 또는 클록 신호를 생성하는 회로를 갖추는 것으로 해서, 논리 회로부(1)의 각 부분은 래치를 실시하는 경우에는 이 클록 신호에 동기해서 래치를 실시할 수 있다.
행렬 스위치(BLSW)는 배선(LVL0∼LVL4) 및 배선(LHL0∼LHL2)의 상호간을 전기적으로 접속하거나 분리하는 기능을 가지며, 회로 제어부(5)에서 공급되는 제어 신호(이하에서는, 이 제어 신호를 제어 신호 ConfigL라고 부른다)의 값에 따라서 배선(LVL0∼LVL4)의 상호간, 배선(LHL0∼LHL2)의 상호간, 또는 배선(LVL0∼LVL4)과 배선(LHL0∼LHL2)과의 사이를 전기적으로 접속하거나 분리시킨다.
예를 들면 도 6a에 나타낸 바와 같이 배선(LVLm)(m은 0 내지 4의 정수임)과 배선(LHLn)(n은 0 내지 2의 정수임)과의 사이를 전환하는 행렬 스위치(BLSW)는 신호선(LVLm-j)(j는 1 내지 63의 정수임)과 신호선(LHLn-k)(k는 1 내지 63의 정수임)과의 사이를 전환하는 합계 3969 개의 스위치군(Q)을 포함한다. 각각의 스위치군(Q)은 예를 들면 도 6b에 나타낸 바와 같이 전계 효과 트랜지스터(FET) 등의 스위칭 소자를 포함한다.
도 6b에 나타내는 예에서는, FETQ1이 신호선(LVLm-j)을 구성하는 2 개의 신호선들인 신호선(LVLm-jA)과 신호선(LVLm-jB) 사이를 전환한다. FETQ2가 신호선(LHLn-k)을 구성하는 2 개의 신호선들인 신호선(LHLn-kA)과 신호선(LHLn-kB) 사이를 전환한다. FETQ3이, 신호선(LVLm-jA)과 신호선(LHLn-kA) 사이를 전환한다. FETQ4가 신호선(LVLm-jA)과 신호선(LHLn-kB) 사이를 전환한다. FETQ5가 신호선(LVLm-jB)과 신호선(LHLn-kA) 사이를 전환한다. FETQ6이 신호선(LVLm-jB)과 신호선(LHLn-kB) 사이를 전환한다. 또한, 스위치군(Q)이 도 6b에 나타내는 구성을 가지고 있는 경우, 제어 신호 ConfigL는 예를 들면 스위치군(Q)을 구성하는 각 FET의 게이트에 인가되면 좋다.
배선(LVL0∼LVL4)은 입력 논리 회로(BIBC), 논리 회로(BFBC) 및 출력 논리 회로(BOBC) 및 행렬 스위치(BLSW)에 접속되고 있다. 배선(LHL0∼LHL2)은 행렬 스위치(BLSW)에 접속되고 있다. 배선(LHL0∼LHL2)은 입력 논리 회로(BIBC), 논리 회 로(BFBC) 및 출력 논리 회로(BOBC)에는 직접 접속되어 있지 않다[다만, 이들 논리 회로는 행렬 스위치(BLSW)를 통해서 접속되는 경우는 있다].
내부 데이터 메모리(2)는 듀얼 포트 동기 RAM(Random Access Memory) 등의 메모리를 형성하고 있고, 전술한 각각의 논리 회로(BFBC)에 1대 1에 대응하는 기억 영역을 가지고 있다. 내부 데이터 메모리(2)의 각각의 기억 영역의 기억 용량은 각각의 기억 영역에 대응할 수 있는 논리 회로(BFBC)에 의해 공급되는 신호를 저장할 수 있도록 충분히 큰 워드 길이를 가지고 있다.
또한, 내부 데이터 메모리(2)는, 예를 들면 도 1에 나타낸 바와 같이 서로 독립된 입력 포토 TO 및 출력 포토 FM 및 인에이블 단자 EN을 포함하고, 또한 서로 독립된 판독 어드레스 버스 및 기록 어드레스 버스를 포함한다. 입력 포토 TO 및 인에이블 단자 EN은 논리 회로(BFBC)의 기본 기능 셀(LFBC)에 접속되고 있고, 출력 포토 FM은 논리 회로(BFBC)의 출력 선택기(OSEL2)에 접속되고 있으며, 판독 어드레스 버스 및 기록 어드레스 버스는 회로 제어부(5)에 접속되고 있다.
내부 데이터 메모리(2)가 갖는 기억 영역을 구성하는 각각의 메모리 위치에는 판독 어드레스와 기록 어드레스가 할당될 수 있고 있다. 그리고, 내부 데이터 메모리(2)는 데이터의 기억을 나타내는 신호가 인에이블 단자 EN에 공급된 것을 검출해서, 검출된 시점에서 입력 포토 TO에 공급되고 있는 신호를 기록 어드레스 버스에서 공급되고 있는 기록 어드레스가 나타내는 기억 영역에 기억한다. 한편, 내부 데이터 메모리(2)는 판독 어드레스 버스에서 공급되고 있는 판독 어드레스에 의해 나타내는 기억 영역으로부터 신호를 판독하여, 이 신호를 출력 포토 FM에서 출 력한다. 또한, 내부 데이터 메모리(2)는 신호를 기억하는 전술한 동작과 신호를 판독하여 출력하는 전술한 동작을 병행해서 실시할 수가 있는 것으로 한다.
모듈 기억부(3) 및 모듈 어드레스 기억부(4)는 각각이 기억하고 있는 후술하는 데이터를 회로 제어부(5)의 액세스에 응답해서 판독하고, 회로 제어부(5)에 공급한다. 또한, 모듈 기억부(3) 및 모듈 어드레스 기억부(4)가 기억하는 대상의 데이터는 회로 제어부(5)가 후술하는 동작을 실시하는 데 앞서 외부 장치에서 공급되어 모듈 기억부(3) 및 모듈 어드레스 기억부(4)의 기억 영역에 저장되는 것으로 한다.
모듈 기억부(3)는 도 1에 예시적으로 나타낸 바와 같이 프로그램 가능한 논리 회로(P)의 논리적 구성을 정의하는 데이터(이하, "모듈"이라 칭한다)를 기억한다. 1 개의 모듈은 1 개의 프로그램 가능한 논리 회로(P)가 한 번에 표현할 수 있는 논리적 구성의 전체 또는 일부를 나타내고 있는 것으로 한다. 따라서, 모듈은 입력 논리 회로(BIBC), 논리 회로(BFBC), 출력 논리 회로(BOBC) 및 내부 데이터 메모리(2)의 모든 논리적 구성을 나타낼 수 있다. 예를 들면 일본 공개 특허 공보 제2003-198362호나 일본 공개 특허 공보 제2003-029969호에 개시되고 있는 것과 같이 논리 회로(BFBC)의 일부나 내부 데이터 메모리(2)의 일부를 다른 논리 회로의 논리적 구성을 변경하는 일이 없이 논리 구성하기 위한 모듈일 수도 있다.
또한, 모듈 기억부(3)의 기억 영역을 구성하는 각각의 메모리 위치에는 10 비트의 어드레스를 할당할 수 있다. 모듈 기억부(3)는 모듈 어드레스, 즉 모듈이 기억되고 있는 선두(또는 종단부 등의 모듈 내의 일정한 부분)의 메모리 위치의 어 드레스를 특정함으로써, 상기 모듈을 특정할 수가 있는 것으로 한다.
모듈 어드레스 기억부(4)의 기억 영역은 도 7에 도시된 바와 같이 32 비트마다 1 개의 페이지를 구성하고 있다. 그리고, 각각의 페이지에는 페이지 어드레스를 할당할 수 있고, 이 페이지 어드레스에 의해 모듈 어드레스 기억부(4)의 각 페이지는 상위에서 하위로 순서화될 수 있다. 또한, 각각의 페이지를 구성하는 32 개의 비트도 상위 비트에서 하위 비트로 순서화될 수 있다.
모듈 어드레스 기억부(4)의 각각의 페이지에는 데이터 구조를 도 7에 예시적으로 나타낸 바와 같이 모듈 기억부(3)가 기억하는 각각의 모듈의 어드레스 또는 분기 처리를 실시하는 경우에 있어서의 점프의 폭을 나타내는 값(오프셋 값)과 6 비트의 제어 비트와 8 비트의 기록 어드레스와 8 비트의 판독 어드레스가 저장된다. 도 7에 나타내는 예에서는, 각 페이지의 하위에서 순서대로 모듈 어드레스 또는 오프셋 값이 10 비트를, 제어 비트가 6 비트를, 기록 어드레스가 8 비트를, 판독 어드레스가 8 비트를 각각 점유하고 있다.
제어 비트는 예를 들면, 회로 제어부(5)에 분기 처리를 실시할지 여부를 나타내는 2 비트(이하, "분기 제어 비트"라고 부른다)로 분기 처리를 실시하는 경우에 있어서의 분기 조건을 나타내는 4 비트(이하, "분기 조건 정의 비트"라고 부른다)를 포함한다.
분기 제어 비트는 소정의 값(예를 들면 2 진수“10”)을 수신하는 경우, 또한 상기 분기 제어 비트와 동일한 페이지에 포함되는 분기 조건 비트가 나타내는 조건이 만족되는 경우에는, 상기 페이지의 페이지 어드레스를 기점으로서 해당 페 이지에 저장되고 있는 오프셋 값만큼 점프하는(즉, 해당 페이지의 페이지 어드레스와 해당 페이지에 저장되고 있는 오프셋 값과의 합에 해당하는 페이지 어드레스를 갖는 페이지에 저장되고 있는 데이터를 판독한다) 것을 회로 제어부(5)에 지시한다.
한편, 분기 제어 비트는 전술한 소정의 값 이외의 값(예를 들면 2 진수“00”또는“01”)을 수신하는 경우에는, 해당 분기 제어 비트와 동일한 페이지에 포함되는 어드레스에 의해 특정되는 모듈을 모듈 기억부(3)에서 판독하여, 판독된 모듈이 나타내는 대로 논리 회로부(1)를 재구성하고, 해당 페이지의 다음 페이지(구체적으로는, 예를 들면 해당 페이지의 페이지 어드레스에 "1"을 더한 값을 페이지 어드레스로 하는 페이지)에 저장되고 있는 데이터를 판독하는 것을 회로 제어부(5)에 지시한다.
분기 조건 비트는 예를 들면 값이 2 진수“0000”을 취하는 경우, "신호 Cond(0)가 값“0”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“0001”을 취하는 경우, "신호 Cond(1)가 값“0”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“0010”을 취하는 경우, "신호 Cond(2)가 값“0”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“0011”을 취하는 경우, "신호 Cond(3)가 값“0”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“0100”을 취하는 경우, "신호 Cond(4)가 값“ 0”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“1000”을 취하는 경우, "신호 Cond(0)가 값“1”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“1001”을 취하는 경우, "신호 Cond(1)가 값“1”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“1010”을 취하는 경우, "신호 Cond(2)가 값“1”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“1011”을 취하는 경우, "신호 Cond(3)가 값“1”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“1100”을 취하는 경우, "신호 Cond(4)가 값“1”을 가지고 있는 것"을 점프 실행 조건으로 하는 것을 나타낸다.
또한, 예를 들면 값이 2 진수“0111”또는“1111”을 취하는 경우는, "해당 분기 조건 비트와 동일한 페이지에 포함되는 분기 제어 비트가 전술한 소정의 값을 가지고 있는 한 반드시 점프 한다"라고 하는 조건을 나타낸다.
또한, 신호 Cond(0) 내지 Cond(4)는 조건의 성공 여부를 감시하는 처리를 실시하고 있는 논리 회로(BFBC)나 감시 결과를 출력하는 처리를 실시하고 있는 출력 논리 회로(BOBC), 또는 그 외 논리 회로부(1) 내의 소정의 노드가 회로 제어부(5)에 공급하는 합계 5 비트의 신호이다. 어떠한 경우에 논리 회로(BFBC) 또는 출력 논리 회로(BOBC) 등이 신호 Cond(0) 내지 Cond(4)를 공급할지는 예를 들면 모듈에 미리 기술되고 있는 것으로 한다. 또한, 조건의 성공 여부를 감시하는 대상이 될 수 있는 것으로서는, 조건 점프를 실행하는 조건의 외, 예를 들면 다른 처리를 호출하는 조건, 호출을 실시한 소정의 처리로의 리턴을 실시하는 조건 등이 고려된다.
회로 제어부(5)는 예를 들면 도 8에 나타내는 처리를 실시한다.
회로 제어부(5)가 프로세서 및 비휘발성 메모리를 포함하는 경우에는, 예를 들면 이 비휘발성 메모리가 기억하는 프로그램을 이 프로세서가 읽어들여 실행함으로써, 이 프로세서가 도 8에 나타내는 처리를 실시할 수도 있다.
즉, 회로 제어부(5)가 예를 들면 동작을 개시하면, 회로 제어부(5)는 우선 모듈 어드레스 기억부(4)의 최상 정도의 페이지 어드레스를 갖는 페이지에 저장되고 있는 데이터(즉, 제어 비트와 모듈 어드레스 또는 오프셋 값 등)를 판독한다(도 8의 단계 S1).
다음에, 회로 제어부(5)는 후술하는 단계 S7 또는 단계 S10로 모듈 어드레스 기억부(4)로부터 가장 새롭게 데이터를 읽어들인 페이지가 마지막 페이지인지 아닌지, 즉 최하 정도의 페이지 어드레스가 주어진 페이지인지 아닌지를 판별한다(단계 S2). 그리고, 마지막 페이지이라고 판별하면, 회로 제어부(5)는 후속 처리를 종료한다.
한편, 마지막 페이지가 아닌 것으로 판별하면, 회로 제어부(5)는 모듈 어드레스 기억부(4)로부터 가장 새롭게 읽어들인 데이터에 포함되는 제어 비트가 (a) 모듈의 판독, 또는 (b) 분기(조건 점프나 무조건 점프)의 어느 처리를 지시하는 것인지를 판별한다(단계 S3).
그리고, 제어 비트가 (a)의 처리를 지시하는 것이라고 판별하면, 회로 제어부(5)는 모듈 어드레스 기억부(4)로부터 새롭게 읽어들인 데이터에 포함되는 모듈 어드레스에 의해 특정되는 모듈을 모듈 기억부(3)에서 읽어들여, 이 모듈이 나타내는 논리적 구성을 취하도록 프로그램 가능한 논리 회로(P)의 각부(예를 들면, 논리 회로부(1)를 이루는 부분이나, 내부 데이터 메모리(2)를 이루는 부분 등)를 재구성한다(단계 S4). 단계 S4에서 회로 제어부(5)는 구체적으로는 예를 들면 전술한 제어 신호 ConfigI, ConfigFi, ConfigFf, ConfigFo, ConfigO 및 ConfigL을 생성해서 그 제어 신호를 논리 회로부(1)에 공급함으로써, 논리 회로부(1)의 재구성을 실시한다.
또한, 단계 S4에서 회로 제어부(5)는 내부 데이터 메모리(2)에 모듈 어드레스 기억부(4)로부터 새롭게 읽어들인 데이터에 포함되는 기록 어드레스 및 판독 어드레스를 공급한다.
또한, 논리 회로부(1)는 단계 S4에서 전술한 제어 신호가 공급되면, 신호 XY의 값을 내부 데이터 메모리(2)에서 읽어들이는 처리나, 신호 QY를 읽어들이는 처리를 실시한다. 또한, 신호 XY의 기록 또는 신호 QY의 판독은 상기 기록이나 판독을 행한 시점에 두고, 회로 제어부(5)에 의한 판독 어드레스나 기록 어드레스를 내부 데이터 메모리(2)에 공급해서 지정하는 메모리 위치에 대해서 행해진다.
단계 S4의 처리가 종료되면, 회로 제어부(5)는 모듈 어드레스 기억부(4)로부터 새롭게 데이터를 읽어들인 페이지의 다음 페이지에 저장되고 있는 데이터를 읽어들여서(단계 S5), 처리를 단계 S2로 리턴시킨다.
한편, 단계 S3에서 제어 비트가 (b)의 처리를 지시하는 것으로 판별되면, 회로 제어부(5)는 상기 제어 비트에 포함되는 분기 조건 정의 비트가 (c) 무조건 점프 또는 (d) 조건 점프 중 어느 처리를 지시하는 것이라고 판별한다(단계 S6). 구체적으로는, 단계 S6에서 회로 제어부(5)는 분기 조건 정의 비트의 값이“0111”또는“1111”인지 여부를 판별해서, 이러한 값 중 어느 하나이면 무조건 점프를 지시하는 것이라고 판별하고, 상기 비트 값이 그 외의 값이면, 회로 제어부(5)는 조건 점프를 지시하는 것이라고 판별한다.
그리고, 무조건 점프를 지시하는 것이라고 단계 S6에서 판별하면, 회로 제어부(5)는 상기 제어 비트와 동일한 페이지에 포함되어 있던 오프셋 값을 참조해서, 상기 오프셋 값 만큼 점프해서(즉, 점프 페이지에 저장되고 있는 데이터를 읽어들여서)(단계 S7), 처리를 단계 S2로 리턴시킨다.
한편, 조건 점프를 지시하는 것이라고 단계 S6에서 판별하면, 회로 제어부(5)는 예를 들면 논리 회로부(1)가 공급하는 신호 Cond(0) 내지 Cond(4)를 취득한다(단계 S8). 그리고, 회로 제어부(5)는 분기 조건 정의 비트가 나타내는 분기 조건을 만족하고 있는지 여부를, 취득된 신호 Cond(0) 내지 Cond(4)가 나타내는 값 등에 기초하여 판별한다(단계 S9). 그리고, 분기 조건이 만족하고 있지 않은 것으로 판별되면, 모듈 어드레스 기억부(4)로부터 새롭게 데이터를 읽어들인 페이지의 다음 페이지에 저장되고 있는 데이터를 읽어들여서(단계 S10), 처리를 단계 S2로 리턴시킨다. 한편, 상기 분기 조건을 만족하고 있는 것으로 판별되면, 회로 제어부(5)는 단계 S7로 처리를 리턴시킨다.
한편, 논리 회로부(1)는 외부로부터 입력 논리 회로(BIBC)에 공급된 신호 등을 이용해서 상기 신호가 공급되는 시점에서 자기의 논리적 구성에 따른 연산을 실시한다. 그리고, 논리 회로부(1)는 그 연산 결과를 나타내는 신호를 출력 논리 회로(BOBC)로부터 출력한다.
단계 S1 내지 단계 S10까지의 전술한 동작을 실시함으로써, 이 프로그램 가능한 논리 회로 장치는 프로그램 가능한 논리 회로(P)의 재구성을 소정의 순서대로 실시할 수 있을 뿐만 아니라, 조건 분기나 분기처로부터의 복귀 및 루프 등을 포함한 복잡한 순서에 의한 재구성도 원활하게 실행할 수 있다.
또한, 논리 회로부(1)에 의한 처리 과정에서 생성되는 데이터는 내부 데이터 메모리(2)에 유지된다. 따라서, 이 데이터의 비트 폭이나 데이터 길이가 처리시마다 여러 가지라도, 논리 회로부(1)가 실시하는 각각의 처리에 대해 준비할 필요가 없다. 따라서, 이 프로그램 가능한 논리 회로 제어 장치는 간단하게 구성할 수 있다.
또한, 이 프로그램 가능한 논리 회로 제어 장치의 구성은 전술한 것으로 한정되지 않는다.
예를 들면, 모듈 기억부(3)는 외부 RAM 또는 다른 외부 기억 장치를 포함할 수도 있다.
또한, 내부 데이터 메모리(2) 및 모듈 어드레스 기억부(4)의 일부 또는 전부도 외부 RAM 또는 다른 프로그램 가능한 논리 회로(P)와는 별도의 기억 장치로 구성될 수도 있다. 또한, 1 개의 기억 장치가 내부 데이터 메모리(2), 모듈 기억 부(3) 및 모듈 어드레스 기억부(4)의 일부 또는 전체의 기능을 실시할 수도 있다.
또한, 회로 제어부(5)는 예를 들면 CPU(Central Processing Unit) 등으로 구성되는 프로그램 가능한 논리 회로(P)와는 별개의 프로세서와, 상기 프로세서가 실행하는 프로그램을 기억하는 ROM(Read Only Memory) 등의 외부 메모리를 포함할 수도 있다. 또는, 회로 제어부(5)는 프로그램 가능한 논리 회로(P)와는 별개의 전용의 전자 회로를 포함할 수도 있다.
또한, 프로그램 가능한 논리 회로(P) 중에서 모듈에 따라 재구성되는 부분은 반드시 논리 회로부(1)를 구성하는 부분이나 내부 데이터 메모리(2)를 구성하는 부분으로 한정되어 있을 필요는 없고, 예를 들면 모듈 기억부(3)나 모듈 어드레스 기억부(4)를 구성하는 부분도 재구성될 수 있다. 또한, 회로 제어부(5)를 구성하는 부분도 재구성될 수 있다.
또한, 논리 회로부(1)에 의해 내부 데이터 메모리(2)에 기억되는 신호는 신호 XY에 한정되지 않고, 논리 회로부(1)에 의한 임의의 노드에서 발생되는 임의의 신호의 값을 저장할 수도 있다.
또한, 논리 회로부(1)가 내부 데이터 메모리(2)로의 신호의 값의 기록 및 판독을 병행해서 실시할 필요가 없는 경우, 내부 데이터 메모리(2)는 반드시 데이터의 판독 및 기록을 병행해서 실행 가능한 구성을 가지고 있을 필요는 없다.
또한, 모듈 어드레스 기억부(4)가 기억하는 데이터의 데이터 구조는 반드시 전술한 구조일 필요는 없고, 예를 들면, 1 페이지를 구성하는 비트의 수는 임의의 수이다. 또한, 모듈의 어드레스, 페이지 어드레스, 기록 어드레스, 판독 어드레스, 오프셋 값, 분기 제어 비트 또는 분기 조건 정의 비트의 비트 수나 이들 모듈 어드레스 기억부(4)의 각각의 페이지 내에서 차지하는 위치도 임의적이다.
또한, 회로 제어부(5)가 점프를 실행하는 조건도 전술한 것에 한정되지 않는다. 예를 들면, 점프 실행 조건은 반드시 신호 Cond(0) 내지 Cond(4)의 값과 관련되는 것 은 아니며, 또한 신호 Cond의 비트수는 반드시 5 비트가 아니어도 좋다. 한편, 상기한 조건은 회로 제어부(5)에 의해 취득 가능한 다른 임의의 정보와 관련되는 것이어도 좋다.
또한, 신호 Cond는 하나 또는 복수의 시점에 있어서 논리 회로부(1)의 1 개 또는 복수의 노드에서 발생되는 신호의 값에 논리 연산 등의 소정이 처리를 실행한 결과 얻을 수 있는 값을 나타내는 것이어도 좋다. 이 경우, 논리 회로부(1)는 예를 들면 상기 논리 연산 등을 실시하는 논리 회로를 포함할 수도 있다.
또한, 회로 제어부(5)는 전술한 유형과 같은 모양의 점프(즉, 상대 점프) 뿐만 아니라 절대 점프(absolute jump)를 실시할 수도 있다. 이 경우, 예를 들면, 모듈 어드레스 기억부(4)에서 기억하는 분기 제어 비트는 예를 들면, 상대 점프, 절대 점프, 또는 점프 비실행의 3 종류의 지시를 나타낼 수 있는 것이면 좋다. 그리고, 분기 제어 비트가 절대 점프를 지시하는 것인 경우, 회로 제어부(5)는 상기 분기 제어 비트를 포함한 페이지에는 오프셋 값을 대신해서 점프처의 페이지 어드레스가 저장되고 있다고 해석하는(즉, 상기 페이지에는 오프셋 값을 대신해서 점프처의 페이지 어드레스가 저장될 필요가 있다) 것으로 하면 좋다.
이상, 본 발명의 실시 형태를 설명하였지만, 본 발명에 논의되는 프로그램 가능한 논리 회로 제어 장치는 전용의 시스템에 의하지 않고, 통상의 컴퓨터 시스템을 이용해서 실현될 수 있다. 예를 들면, 논리 회로부(1)에 접속된 컴퓨터에 전술한 내부 데이터 메모리(2), 모듈 기억부(3), 모듈 어드레스 기억부(4) 및 회로 제어부(5)의 동작을 실행시키기 위한 프로그램을 저장한 매체(CD-ROM, MO 등)로부터 이러한 프로그램을 설치함으로써, 전술한 처리를 실행하는 프로그램 가능한 논리 회로 장치를 구성할 수가 있다.
또한, 상기한 프로그램은 예를 들면 통신 회로의 게시판(BBS; Bulletin Board System)에 업 로드될 수 있고, 이것을 통신 회로를 통해서 전달할 수 있다. 또한, 이 프로그램을 나타내는 신호에 의해 반송파가 변조될 수 있고, 얻을 수 있는 변조파를 전송해서, 이 변조파를 수신한 장치가 변조파를 복조해서 그 프로그램을 복원할 수도 있다. 또한, 상기 프로그램을 동작시켜서, OS의 제어하에서 다른 응용 프로그램과 동일한 방식으로 실행함으로써, 전술한 처리를 실행할 수가 있다.
또한, OS가 처리의 일부를 분담하는 경우, 또는 OS가 본 발명의 하나의 구성 요소의 일부를 구성하는 경우, 기록 매체에는 그 부분을 제외한 프로그램을 저장할 수도 있다. 이 경우에도, 본 발명에서는 그 기록 매체에는 컴퓨터가 실행하는 각각의 기능 또는 단계들을 실행하기 위한 프로그램이 저장될 수 있다.
본 발명의 기술적 사상 및 범주를 이탈하지 않는 범위 내에서 각종 실시예 및 변경이 이루어질 수 있다. 전술한 실시예는 본 발명의 예시의 목적으로 의도된 것으로서, 본 발명의 범위를 제한하고자 하는 것은 아니다. 본 발명의 기술적 사상은 첨부한 특허 청구의 범위에 의해 나타내고 있다. 본 발명의 특허 청구 범위가 등가이고 본 발명의 기술적 사상과 관련해서 특허 청구 범위의 범주 내에서 당업자라면 여러 가지의 변경 및 수정이 가능함을 이해할 수 있을 것이다.
본 출원은 발명의 상세한 설명, 특허 청구의 범위, 도면 및 요약서를 비롯해서, 2004년 2월 19일자로 출원된 일본 특허 출원 제2004-042701호의 우선권 주장에 기초하고 있다. 상기한 일본 특허 출원 제2004-042701호의 개시된 내용 전체를 본원 명세서에서 참고로 통합한다.

Claims (13)

  1. 프로그램 가능한 논리 회로의 논리적 구성을 제어하는 프로그램 가능한 논리 회로 제어 시스템으로서,
    상기 프로그램 가능한 논리 회로에 제어 신호를 공급함으로써 상기 프로그램 가능한 논리 회로(1)의 논리적 구성을 제어하는 컨트롤러(5)와;
    상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 모듈 메모리(3)와;
    순서화된 복수의 메모리 영역을 가지며 상기 복수의 메모리 영역들 중 하나 이상의 메모리 영역에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리(4)와;
    제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 수신해서 상기 신호에 의해 나타낸 값을 저장하는 노드 값 메모리(2)
    를 포함하고,
    상기 노드 값 메모리(2)는, 서로 상이한 판독 어드레스 및 서로 상이한 기록 어드레스가 각각 할당되는 복수의 메모리 영역을 포함하며, 공급된 기록 어드레스 신호에 의해 나타내는 기록 어드레스가 할당되는 메모리 영역에 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 기록하는 기록 기능과, 공급된 판독 어드레스 신호에 의해 나타내는 판독 어드레스가 할당되는 메모리 영역에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 판독 기능을 포함하고,
    상기 모듈 지정 메모리(4)의 메모리 영역에서 그 모듈 어드레스를 지정하는 데이터가 저장되는 메모리 영역에는 모듈과 관련된 판독 어드레스 및 기록 어드레스가 추가로 저장되며,
    상기 컨트롤러(5)는, 상기 모듈 지정 메모리(4)의 메모리 영역에 저장된 데이터를 취득하는 기능과, 상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 지정 메모리(4)로부터 취득하고 상기 프로그램 가능한 논리 회로(1)로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며 상기 생성된 제어 신호를 상기 프로그램 가능한 논리 회로(1)에 공급함으로써 상기 프로그램 가능한 논리 회로(1)의 논리적 구성을 변경하는 기능과, 상기 모듈 지정 메모리(4)로부터 취득된 데이터에 포함되는 판독 어드레스 및 기록 어드레스를 상기 노드 값 메모리에 공급하는 기능을 포함하는 것인 프로그램 가능한 논리 회로 제어 시스템.
  2. 제1항에 있어서, 상기 컨트롤러(5)는 상기 프로그램 가능한 논리 회로(1)의 논리적 구성의 일부를 변경함으로써 형성되는 것인 프로그램 가능한 논리 회로 제어 시스템.
  3. 제1항에 있어서, 상기 노드 값 메모리(2)는 상기 프로그램 가능한 논리 회로의 논리적 구성의 일부를 변경함으로써 형성되는 것인 프로그램 가능한 논리 회로 제어 시스템.
  4. 제1항에 있어서, 상기 노드 값 메모리(2)는 상기 기록 기능 및 상기 판독 기능을 독립적으로 실시할 수 있는 방식으로 구성되고,
    상기 컨트롤러(5)는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기능 및 판독 어드레스를 상기 노드 값 메모리(2)에 공급하는 기능을 병행해서 실시할 수 있는 구성을 갖는 것인 프로그램 가능한 논리 회로 제어 시스템.
  5. 제1항에 있어서, 상기 모듈 지정 메모리(4)는 각각의 메모리 영역에 모듈 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 저장하고,
    상기 컨트롤러(5)는, 상기 모듈 지정 메모리(4)의 메모리 위치에서 취득된 데이터가 모듈 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 지정할지 여부를 판별하고, 상기 데이터가 상기 모듈 어드레스를 지정하는 것을 판별하는 경우에는 상기 어드레스에 의해 나타낸 모듈을 상기 모듈 메모리(3)로부터 취득하며, 제어 대상의 상기 프로그램 가능한 논리 회로(1)로 하여금 상기 모듈에 의해 나타낸 논리적 구성을 취하도록 제어하는 제어 신호를 생성하고, 상기 생성된 제어 신호를 상기 프로그램 가능한 논리 회로에 공급함으로써 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하며, 상기 모듈 지정 메모리로부터 취득된 데이터가 다른 메모리 위치를 지정하는 것을 판별하는 경우에는 다른 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리(4)로부터 취득하는 것인 프로그램 가능한 논리 회로 제어 시스템.
  6. 제5항에 있어서, 상기 모듈 지정 메모리(4)에 저장되며 다른 메모리 영역을 지정하는 데이터는 상기 다른 메모리 영역에 저장된 데이터를 취득하는 처리로 이동하기 위한 조건을 지정하는 조건 정의 데이터를 포함하고,
    상기 데이터가 다른 메모리 영역을 지정하는 것을 판별하는 경우에는 상기 컨트롤러(5)는 상기 취득된 데이터에 포함되는 상기 조건 정의 데이터에 의해 지정된 조건을 만족하는지 여부를 판별하며,
    상기 조건을 만족하는 것으로 판별된 경우에는 상기 컨트롤러(5)는 다른 메모리 영역에 저장된 데이터를 상기 모듈 지정 메모리(4)로부터 취득하고,
    상기 조건을 만족시키지 않는 것으로 판별된 경우에는 상기 컨트롤러(5)는 다른 메모리 영역으로부터 데이터의 취득을 중지시키는 것인 프로그램 가능한 논리 회로 제어 시스템.
  7. 제6항에 있어서, 상기 조건 정의 데이터에 의해 지정되는 조건은 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타내는 값과 관련되며,
    상기 모듈 지정 메모리(4)로부터 취득된 데이터가 다른 메모리 위치를 지정하는 것을 판별하는 경우에는 상기 컨트롤러(5)는 제어 대상의 상기 프로그램 가능한 논리 회로(1)의 노드로부터 상기 신호를 취득하고, 상기 취득된 신호에 의해 나 타낸 값에 기초해서 상기 모듈 지정 메모리(4)로부터 취득된 데이터에 포함되는 조건 정의 데이터에 의해 지정된 조건을 만족하는지 여부를 판별하는 것인 프로그램 가능한 논리 회로 제어 시스템.
  8. 제5항에 있어서, 상기 모듈 지정 메모리(4)의 메모리 위치에 저장된 데이터는 상기 데이터가 모듈 어드레스와 다른 메모리 위치 중 어느 하나를 지정하는 것인지를 식별하는 식별 데이터를 포함하고,
    상기 컨트롤러(5)는 상기 모듈 지정 메모리(4)로부터 취득된 데이터에 포함된 상기 식별 데이터에 기초해서 상기 취득된 데이터가 모듈 어드레스 또는 다른 메모리 영역을 지정하는 데이터를 지정할지 여부를 판별하는 것인 프로그램 가능한 논리 회로 제어 시스템.
  9. 프로그램 가능한 논리 회로 제어 장치로서,
    순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하도록 구성된 데이터 취득부로서, 상기 모듈 어드레스를 지정하는 데이터가 저장되는 상기 모듈 지정 메모리의 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로 그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득부와;
    상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하도록 구성된 기록 어드레스 공급부와;
    상기 취득된 데이터에 포함된 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하도록 구성된 변경부와;
    상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하도록 구성된 판독 어드레스 공급부
    를 포함하는 프로그램 가능한 논리 회로 제어 장치.
  10. 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 취득하고 상기 취득된 모듈에 기초해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 방법으로서,
    제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 단계와;
    모듈 사용 순서 지정용의 순서화된 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터 및 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 취득하고, 상기 취득된 신호에 의해 나타내는 값을 저장하는 노드 값 메모리의 메모리 영역에 할당되는 판독 어드레스 및 기록 어드레스를 저장하는 단계와;
    상기 모듈 사용 순서 지정용의 메모리 위치에 저장된 데이터를 취득하는 단계와;
    상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 단계와;
    상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 단계와;
    상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 단계
    를 포함하고,
    상기 노드 값 메모리는, 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생 된 신호에 의해 나타내는 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인 프로그램 가능한 논리 회로 제어 방법.
  11. 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 복수의 모듈을 저장하는 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 방법으로서,
    순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하는 데이터 취득 단계로서, 상기 모듈 어드레스를 지정하는 데이터가 저장되는 상기 모듈 지정 메모리의 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는, 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 저장하는 기 능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득 단계와;
    상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기록 어드레스 공급 단계와;
    상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타낸 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 변경 단계와;
    상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 판독 어드레스 공급 단계
    를 포함하는 프로그램 가능한 논리 회로 제어 방법.
  12. 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로에 제어 신호를 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 컨트롤러와;
    제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 각각 포함하는 복수의 모듈을 저장하는 모듈 메모리와;
    순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리와;
    제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호를 취득하여 상기 취득된 신호에 의해 나타낸 값을 저장하는 노드 값 메모리
    를 컴퓨터에 의해 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서,
    상기 노드 값 메모리는, 판독 어드레스 및 기록 어드레스가 할당되는 복수의 메모리 위치들을 포함하며, 제어 대상의 상기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타낸 값을 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에 저장하는 기록 기능과, 국소적으로 공급된 판독 어드레스 신호가 할당되는 메모리 위치에 저장된 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 판독 기능을 포함하고,
    상기 모듈 지정 메모리의 메모리 위치에서 그 모듈 어드레스를 지정하는 데이터가 저장되는 메모리 위치에는 판독 어드레스 및 기록 어드레스가 추가로 저장되며,
    상기 컨트롤러는, 상기 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 취득하고, 상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하며, 상기 취득된 데이터에 포함된 어드레스에 의해 나타내는 모듈을 상기 모듈 지정 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 모듈에 의해 나타낸 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하여 상기 취득된 데이터에 포함된 판독 어드레스를 상기 노드 값 메모리에 공급하는 것인 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
  13. 공급될 제어 신호에 따라 논리적 구성을 변경하는 기능을 갖는 제어 대상의 프로그램 가능한 논리 회로의 논리적 구성을 정의하는 데이터를 포함하는 모듈을 복수의 모듈을 저장하는 모듈 메모리로부터 취득하고, 제어 대상의 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타낸 논리적 구성을 취하도록 제어하는 제어 신호를 생성하며, 상기 생성된 제어 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급함으로써, 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 프로그램 가능한 논리 회로 제어 장치를 컴퓨터에 의해 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서,
    상기 프로그램 가능한 논리 회로 제어 장치는,
    순서화된 복수의 메모리 위치를 가지며 상기 복수의 메모리 위치들 중 하나 이상의 메모리 위치에서 모듈 어드레스를 지정하는 데이터를 저장하는 모듈 지정 메모리의 메모리 위치에 저장된 데이터를 상기 모듈 지정 메모리로부터 취득하는 데이터 취득부로서, 상기 모듈 지정 메모리의 메모리 위치에서 상기 모듈 어드레스를 지정하는 데이터가 저장되는 메모리 위치에는 노드 값 메모리의 메모리 위치에 할당된 판독 어드레스 및 기록 어드레스가 추가로 저장되며, 상기 노드 값 메모리는 국소적으로 공급된 기록 어드레스가 할당되는 메모리 위치에서 제어 대상의 상 기 프로그램 가능한 논리 회로의 소정의 노드에서 발생된 신호에 의해 나타내는 값을 저장하는 기능과, 국소적으로 공급된 판독 어드레스가 할당되는 메모리 위치에 저장되는 값을 나타내는 신호를 제어 대상의 상기 프로그램 가능한 논리 회로에 공급하는 기능을 포함하는 것인, 상기 데이터 취득부와;
    상기 취득된 데이터에 포함되는 기록 어드레스를 상기 노드 값 메모리에 공급하는 기록 어드레스 공급부와;
    상기 취득된 데이터에 포함되는 어드레스에 의해 나타내는 모듈을 상기 모듈 메모리로부터 취득하고, 상기 프로그램 가능한 논리 회로로 하여금 상기 취득된 모듈에 의해 나타내는 논리적 구성을 취하도록 제어하기 위해서 제어 대상의 상기 프로그램 가능한 논리 회로의 논리적 구성을 변경하는 변경부와;
    상기 취득된 데이터에 포함되는 판독 어드레스를 상기 노드 값 메모리에 공급하는 판독 어드레스 공급부
    를 포함하는 것인 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020067018768A 2004-02-19 2005-02-21 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 KR100791876B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004042701A JP3836109B2 (ja) 2004-02-19 2004-02-19 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
JPJP-P-2004-00042701 2004-02-19

Publications (2)

Publication Number Publication Date
KR20060110372A true KR20060110372A (ko) 2006-10-24
KR100791876B1 KR100791876B1 (ko) 2008-01-07

Family

ID=34879272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018768A KR100791876B1 (ko) 2004-02-19 2005-02-21 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체

Country Status (7)

Country Link
US (1) US20070296457A1 (ko)
EP (1) EP1716640A4 (ko)
JP (1) JP3836109B2 (ko)
KR (1) KR100791876B1 (ko)
CN (1) CN1969458A (ko)
TW (1) TW200534584A (ko)
WO (1) WO2005081405A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262578B2 (ja) * 2008-10-27 2013-08-14 富士ゼロックス株式会社 電子機器
WO2014162575A1 (ja) * 2013-04-04 2014-10-09 三菱電機株式会社 エンジニアリングツールおよびプログラマブルロジックコントローラ
US9454378B2 (en) * 2013-09-30 2016-09-27 Apple Inc. Global configuration broadcast
CN117130692B (zh) * 2023-10-23 2024-01-23 成都赛力斯科技有限公司 应用管理方法、装置、电子设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667959B1 (fr) * 1990-10-11 1995-07-21 Telemecanique Circuit de gestion de sorties pour automate programmable.
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
KR19990011955A (ko) * 1997-07-25 1999-02-18 윤종용 Pci 브리지
US6069489A (en) * 1998-08-04 2000-05-30 Xilinx, Inc. FPGA having fast configuration memory data readback
US6107821A (en) * 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same
US6255848B1 (en) * 1999-04-05 2001-07-03 Xilinx, Inc. Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
US6239611B1 (en) * 1999-06-10 2001-05-29 Xilinx, Inc. Circuit and method for testing whether a programmable logic device complies with a zero-hold-time requirement
JP3743487B2 (ja) * 1999-07-14 2006-02-08 富士ゼロックス株式会社 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法
US6421813B1 (en) * 1999-10-13 2002-07-16 Micron Technology, Inc. Method and apparatus for providing visibility and control over components within a programmable logic circuit for emulation purposes
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
US6363019B1 (en) * 2000-11-03 2002-03-26 Xilinx, Inc. Method and circuit for verifying configuration of programmable logic device
US6529041B1 (en) * 2001-03-23 2003-03-04 Xilinx, Inc. System power control output circuit for programmable logic devices
JP3561506B2 (ja) * 2001-05-10 2004-09-02 東京エレクトロンデバイス株式会社 演算システム
US6971004B1 (en) * 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
JP3540796B2 (ja) * 2001-12-28 2004-07-07 東京エレクトロンデバイス株式会社 演算システム
CN100580621C (zh) * 2003-08-29 2010-01-13 Ip菲力股份有限公司 数据处理装置、控制方法、自动控制装置、终端、生成方法
US20070038971A1 (en) * 2003-09-30 2007-02-15 Tatsuo Hiramatsu Processing device with reconfigurable circuit, integrated circuit device and processing method using these devices
WO2006011232A1 (ja) * 2004-07-30 2006-02-02 Fujitsu Limited リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法

Also Published As

Publication number Publication date
JP3836109B2 (ja) 2006-10-18
TW200534584A (en) 2005-10-16
WO2005081405A1 (en) 2005-09-01
EP1716640A4 (en) 2007-03-14
EP1716640A1 (en) 2006-11-02
US20070296457A1 (en) 2007-12-27
KR100791876B1 (ko) 2008-01-07
JP2005236619A (ja) 2005-09-02
CN1969458A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
CN109716318B (zh) 配置硬件在运行时期间多种模式下操作的装置和方法
US7190190B1 (en) Programmable logic device with on-chip nonvolatile user memory
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
US6091263A (en) Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM
US6421817B1 (en) System and method of computation in a programmable logic device using virtual instructions
US7266672B2 (en) Method and apparatus for retiming in a network of multiple context processing elements
US7495970B1 (en) Flexible memory architectures for programmable logic devices
US10740435B2 (en) Programmable logic integrated circuit, design support system, and configuration method
US20040113655A1 (en) Partial reconfiguration of a programmable logic device using an on-chip processor
US6766505B1 (en) Parallel programming of programmable logic using register chains
US20060006904A1 (en) Programable logic device, configuration apparatus, and configuration method
KR100791876B1 (ko) 프로그램 가능한 논리 회로 제어 장치, 프로그램 가능한논리 회로 제어 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체
US20100134142A1 (en) Programmable logic device with a microcontroller-based control system
US7183796B2 (en) Configuration memory implementation for LUT-based reconfigurable logic architectures
US9646686B2 (en) Reconfigurable circuit including row address replacement circuit for replacing defective address
US7149997B1 (en) Routing with frame awareness to minimize device programming time and test cost
US7768300B1 (en) Programmable logic device providing serial peripheral interfaces
US4322812A (en) Digital data processor providing for monitoring, changing and loading of RAM instruction data
US9503096B1 (en) Multiple-layer configuration storage for runtime reconfigurable systems
JP3838367B2 (ja) プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
US7702893B1 (en) Integrated circuits with configurable initialization data memory addresses
JP2006302132A (ja) 信号処理装置及び再構成可能論理回路装置及び再構成可能順序回路
US6651155B1 (en) Apparatus and method for translating a programmable logic device programmer object file
JP6111680B2 (ja) 信号処理装置およびプログラマブルロジックデバイスの構成方法
JP2000091435A (ja) 情報処理システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee