TWI618357B - Reconfigurable component and semiconductor device - Google Patents
Reconfigurable component and semiconductor device Download PDFInfo
- Publication number
- TWI618357B TWI618357B TW104131918A TW104131918A TWI618357B TW I618357 B TWI618357 B TW I618357B TW 104131918 A TW104131918 A TW 104131918A TW 104131918 A TW104131918 A TW 104131918A TW I618357 B TWI618357 B TW I618357B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- data
- memory
- line
- logic
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims description 22
- 230000015654 memory Effects 0.000 claims abstract description 266
- 238000004513 sizing Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 28
- 230000001360 synchronised effect Effects 0.000 description 23
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 12
- 239000000872 buffer Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/418—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本發明減少自CPU之主記憶體存取,謀求資料處理之高速化。
本發明係一種可再構成之元件,其係與主記憶體連接者,且可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部,各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自複數條位址線之一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由位址解碼器之解碼線所特定出之複數個記憶胞,且將自所特定出之記憶胞讀出之資料輸出至資料線;記憶胞陣列單元之位址線與主記憶體之資料輸出線連接。
Description
本發明係關於一種可再構成之元件及包含其之半導體裝置。
雖基於莫耳定律,伴隨半導體微細化之CPU(Central Processing Unit,中央處理單元)之運算速度不斷提高,但該莫耳定律仍逐漸走向消亡。其原因在於微細化之極限。將10nm設為該極限,當前之半導體製造技術已接近該極限,藉由CPU性能提昇而實現的資料處理之高速化亦逐漸放緩。
CPU對保持於暫存器內之資料進行運算處理,將運算對象之資料自快取預取至暫存器內,於快取內之資料並非對象資料之情形時,將其視為「快取未中」,並進行自主記憶體讀出資料之處理。
尤其,於資料中心等必須進行大量資料處理之情形時,相較於運算處理,向主記憶體之存取之時間增加,其成為資料處理之瓶頸,從而招致延遲化。又,資料傳送之消耗電力亦因高速化之需求而增加,亦有必要冷卻伺服器,資料中心之電力削減成為課題。再者,此種CPU架構例如示於專利文獻1之圖1。
[專利文獻1]日本專利特表2013-513139號公報
儘管運算處理本身為簡單之運算之重複,但當資料為大量時,如上所述之資料處理之延遲之傾向較強。因此,無需處理器所進行程度之高度之處理。因此,不將資料傳送至CPU,而於記憶體側進行資料處理,且於需要更高度之運算處理時使用CPU,藉此謀求資料處理之高速化。
本實施形態之半導體裝置配置於主記憶體側,負責簡單之運算之重複,藉此減少自CPU之主記憶體存取,謀求資料處理之高速化。解決上述課題之形態係如由以下之項目組所示般,實現半導體裝置。
1. 一種可再構成之元件,其係與主記憶體連接者;且上述可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部;上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述所特定出之記憶胞讀出之資料輸出至上述資料線;上述記憶胞陣列單元之位址線與上述主記憶體之資料輸出線連接。
2. 如項目1之可再構成之元件,其中上述記憶胞陣列單元為多重查找表。
本半導體裝置由於藉由多重查找表進行作為邏輯元件及/或連接元件之動作,故而明顯不同於藉由選擇電路實現配線連接之FPGA(Field Programmable Gate Array,場可程式閘陣列)。
3. 如項目1或2之可再構成之元件,其中上述各邏輯部具備:第1位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;第2位址解碼器,其將自上述複數條位址線之另一部分輸入之位址予以解碼;第1記憶胞單元,其具有由上述第1位址解碼器之解碼線所特定出之複數個記憶胞;及第2記憶胞單元,其具有由上述第2位址解碼器之解碼線所特定出之複數個記憶胞。
4. 如項目3之可再構成之元件,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且與輸出特定出上述複數個真值表資料之任一個之資料之第2複數條位址線連接。
可提供一種可再構成之半導體裝置,其活用大容量記憶體而能夠將剩餘位址以頁面切換控制之方式進行控制。
5. 一種半導體裝置,其具備:主記憶體、及可再構成之元件;該可再構成之元件與上述主記憶體連接,上述可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部,上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述所特定出之記憶胞讀出之資料輸出至上
述資料線;上述記憶胞陣列單元之資料輸出與上述主記憶體之位址線連接。
6. 如項目5之半導體裝置,其進而具備第2可再構成之元件,上述第2可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部,上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述所特定出之記憶胞讀出之資料輸出至上述資料線;上述記憶胞陣列單元之資料輸出與上述主記憶體之位址線連接。
7. 如項目5或6之半導體裝置,其進而具備規模調整電路,該規模調整電路於上述主記憶體、與上述可再構成之元件之間,對兩者之電路規模進行調整。
本實施形態減少自CPU之主記憶體存取,可實現資料處理之高速化。
9‧‧‧位址解碼器
10‧‧‧電腦裝置
11‧‧‧位址解碼器
11A‧‧‧位址解碼器
11B‧‧‧位址解碼器
11C‧‧‧位址解碼器
11D‧‧‧位址解碼器
12‧‧‧I/O緩衝器
12A‧‧‧I/O(輸入輸出)緩衝器
12B‧‧‧I/O(輸入輸出)緩衝器
13‧‧‧資料選擇器
13A‧‧‧資料選擇器
13B‧‧‧資料選擇器
13C‧‧‧資料選擇器
13D‧‧‧資料選擇器
15A‧‧‧位址選擇器
15B‧‧‧位址選擇器
16‧‧‧半導體裝置
20‧‧‧可再構成之元件
20A‧‧‧可再構成之元件
20B‧‧‧可再構成之元件
21A‧‧‧規模調整電路
21B‧‧‧規模調整電路
30‧‧‧MLUT
30a、30b‧‧‧MLUT
31‧‧‧記憶胞單元
31A‧‧‧記憶胞單元
31B‧‧‧記憶胞單元
31C‧‧‧記憶胞單元
31D‧‧‧記憶胞單元
32‧‧‧選擇電路
32A‧‧‧選擇電路
32B‧‧‧選擇電路
32C‧‧‧選擇電路
32D‧‧‧選擇電路
33‧‧‧資料選擇電路
35‧‧‧位址轉換檢測部
40‧‧‧記憶元件
40A‧‧‧記憶元件
40B‧‧‧記憶元件
40C‧‧‧記憶元件
40D‧‧‧記憶元件
60‧‧‧MLUT陣列
61‧‧‧列解碼器
62‧‧‧行解碼器
110A‧‧‧反或(NOR)電路
110B‧‧‧反或(NOR)電路
120‧‧‧或(OR)電路
130‧‧‧互斥或(EOR)電路
140A‧‧‧延遲電路
140B‧‧‧延遲電路
140C‧‧‧延遲電路
150‧‧‧正反器(FF)
160A‧‧‧反相器
160B‧‧‧反相器
170‧‧‧D鎖存器
171‧‧‧2輸入NOR電路
172‧‧‧2輸入NAND電路
510‧‧‧處理器
511‧‧‧處理器核心
512‧‧‧L2快取控制器
514‧‧‧L2快取記憶體
516‧‧‧記憶體控制器
530‧‧‧通信部
540‧‧‧外部記憶裝置
550‧‧‧驅動裝置
560‧‧‧I/O控制器
600‧‧‧主記憶體
701‧‧‧NOR電路
702‧‧‧NAND電路
703‧‧‧NAND電路
1100‧‧‧網路
1200‧‧‧記憶媒體
1210‧‧‧電路描述語言
1220‧‧‧邏輯構成用程式
1230‧‧‧真值表資料
A0‧‧‧邏輯用位址輸入LA線
A1‧‧‧邏輯用位址輸入LA線
A2‧‧‧邏輯用位址輸入LA線
A3‧‧‧邏輯用位址輸入LA線
A8~A15‧‧‧位址
AD‧‧‧位址
AD1‧‧‧位址
AD2‧‧‧位址
AD3‧‧‧位址
A0L~A7L‧‧‧位址
A0R~A7R‧‧‧位址
D0‧‧‧邏輯動作用資料線
D1‧‧‧邏輯動作用資料線
D2‧‧‧邏輯動作用資料線
D3‧‧‧邏輯動作用資料線
D0L~D7L‧‧‧資料
D0R~D7R‧‧‧資料
LA‧‧‧邏輯用位址
LD‧‧‧邏輯用資料
RD‧‧‧資料
RD1‧‧‧資料
RD2‧‧‧資料
S1‧‧‧信號
S2‧‧‧信號
S3‧‧‧信號
S4‧‧‧信號
S5‧‧‧信號
S6‧‧‧信號
S7‧‧‧信號
S8‧‧‧信號
S9‧‧‧信號
S10‧‧‧信號
S11‧‧‧信號
T1‧‧‧時間
T2‧‧‧時間
WD‧‧‧寫入用資料
圖1係表示本實施形態之電腦裝置之整體構成之第1例之圖。
圖2係表示本實施形態之電腦裝置之整體構成之第2例之圖。
圖3係表示所構成之運算器之一例之圖。
圖4係表示MRLD(Memory based Reconfigurable Logic Device,基於記憶體之可重組邏輯元件)之一例之圖。
圖5係本實施形態之位址轉換檢測部之電路圖。
圖6係圖5所示之位址轉換檢測之信號之時序圖。
圖7係概略性地表示將包含2個記憶胞單元之MLUT(Multi Look up Table,多重查找表)橫向堆積而構成之MLUT之圖。
圖8係表示使用大容量記憶體之MLUT之一例之圖。
圖9係表示圖8所示之MLUT之電路例之圖。
圖10係對使用圖8所示之MLUT之MRLD進行說明之圖。
圖11係表示第2實施形態之可進行同步/非同步切換之MLUT之電路例之圖。
圖12係表示規模調整電路之一例之圖。
圖13係表示MLUT之一例之圖。
圖14係表示作為邏輯電路而動作之MLUT之一例之圖。
圖15係表示圖14所示之邏輯電路之真值表之圖。
圖16係表示作為連接元件而動作之MLUT之一例之圖。
圖17係表示圖16所示之連接元件之真值表之圖。
圖18係表示藉由具有4個AD對之MLUT而實現之連接元件之一例之圖。
圖19係表示1個MLUT作為邏輯元件及連接元件動作之一例之圖。
圖20係表示圖19所示之邏輯元件及連接元件之真值表。
圖21係表示藉由具有AD對之MLUT而實現之邏輯動作及連接元件之一例之圖。
以下,參照圖式,依序對1. 電腦裝置及半導體裝置、2. MRLD、3. MLUT、4. MLUT之邏輯動作、5. 真值表資料之產生方法進行說
明。
1. 電腦裝置及半導體裝置
對於處理器而言,主記憶體上之資料係一面逐次對照位址,一面執行資訊搜索,因此成為伴有極多之時間及極大之負擔之處理。因此,為了有效率地進行資訊處理,通常事先對在記憶體上之何位址存在何種資訊等進行整理加工,且準備元資料以便能夠減輕處理器之資訊搜索之負擔。該元資料例如為散列表。然而,由於元資料之準備需要大量時間,故而必須重複資料維護,必須將處理器並列化等將裝置大型化而賦予大電力。以下所示之電腦裝置或半導體裝置無需元資料,而可於記憶體實現各種功能。
1.1電腦裝置
圖1係表示本實施形態之電腦裝置之整體構成之第1例之圖。如圖1所示,電腦裝置10具有處理器510、主記憶體600、通信部530、外部記憶裝置540、驅動裝置550、及I/O(input/output,輸入/輸出)控制器560。
處理器510具有處理器核心511、L2快取控制器512、L2快取記憶體514、及記憶體控制器516。又,處理器510經由I/O控制器560連接於通信部530、及外部記憶裝置540。處理器510係如下裝置:藉由執行主記憶體600中所記憶之程式,而自主記憶體600載入資料,對所載入之資料進行運算,並將運算結果儲存至主記憶體600。
記憶體控制器516於電腦裝置10上進行對主記憶體600之資料之讀出、寫出,若主記憶體600為DRAM(Dynamic Random Access Memory,動態隨機存取記憶體),則進行其更新等主記憶體之介面處理(interface)。例如,進行自主記憶體600向L2快取記憶體514載入資料、自L2快取控制器512向主記憶體600儲存資料等。
L2快取記憶體514保持主記憶體600所記憶之資料之一部分。
又,L2快取記憶體514包含處理器核心511所具有之L1快取記憶體(L1 Cache Memory)所保持之資料。
L2快取控制器512以將自處理器核心511之存取頻度較高之資料儲存至L2快取記憶體514,將存取頻度較低之資料自L2快取記憶體514逐出至主記憶體600之方式動作。
處理器核心511例如為處理器核心,具有上述處理器510之運算功能。再者,圖1所示之處理器核心之個數為1個,但亦可為複數個。於處理器510具有複數個處理器核心之情形時,以如下方式動作:1個處理器核心作為主控裝置(master)而動作,執行程式,並且使作為從動裝置(slave)之其他處理器核心分擔執行程式。此種主控裝置之動作亦可於程式內描述為命令串,且藉由執行該命令串而實現。
I/O控制器560係控制處理器510與其他單元之連接之輸入輸出控制裝置。I/O控制器560係例如依照PCI Express(Peripheral Component Interconnect Express,周邊元件互連高速)等標準而動作。
主記憶體600為記憶資料或程式之裝置。處理器510可不經由I/O控制器560而對主記憶體600進行存取。主記憶體600例如為DRAM(Dynamic Random Access Memory)。
外部記憶裝置540為記憶儲存於主記憶體600之程式及資料之非揮發性之記憶裝置。外部記憶裝置540為使用磁碟之磁碟陣列、或使用快閃記憶體之SSD(Solid State Drive,固體狀態驅動機)等。
通信部530與作為通信路徑之網路1100連接,於連接於網路1100之其他電腦裝置與電腦裝置10之間收發資料。通信部530例如為NIC(Network Interface Controller,網路介面控制器)。
驅動裝置550例如為讀寫FLOPPY(註冊商標)磁碟或CD-ROM(Compact Disc Read Only Memory,光碟-唯讀記憶體)、DVD(Digital Versatile Disc,數位多功能光碟)等記憶媒體1200之裝
置。驅動裝置550包含使記憶媒體1200旋轉之馬達或於記憶媒體1200上讀寫資料之頭等。再者,記憶媒體1200可儲存程式。例如,記憶媒體1200除了規定運算處理之程式之外,亦可儲存用以設計積體電路之C語言描述或硬體描述語言(HDL)等電路描述語言1210、用以產生真值表資料1230之邏輯構成用程式1220。真值表資料1230係藉由處理器核心511而產生,如圖示般儲存於記憶媒體1200,亦可被輸送。於該情形時,真值表資料1230係藉由未圖示之其他電腦裝置而產生。驅動裝置550自設置於驅動裝置550之記憶媒體1200讀出程式。處理器510將藉由驅動裝置550所讀出之程式儲存於主記憶體600或外部記憶裝置540。再者,將真值表資料1230寫入至可再構成之元件20,使可再構成之元件20執行所需之運算處理,而其他程式則係由處理器核心執行,於此點上區別兩者。
1.1半導體裝置
16係至少包含主記憶體及可再構成之元件之半導體裝置。於主記憶體600之資料輸出,連接有可再構成之元件20。可再構成之元件實現了進行簡單之運算之電路。例如為序列比較機或自動機。
若記憶體控制器516根據位址AD進行特定之位址空間之讀出,則可再構成之元件20對自主記憶體600之位址空間輸出之資料RD1進行運算,將需要之資料RD2輸出至記憶體控制器516。此時,對資料RD1實施運算處理所得之資料RD2之資料量為實施先前之處理器所進行之資料處理後之資料,故而可減輕處理器510之處理負荷。
處理器核心511依照自未圖示之L1快取記憶體讀出之命令,對保持於未圖示之暫存器之資料執行根據命令所特定出之處理。於命令中有浮動小數點運算、整數運算、位址產生、分支命令執行、及儲存或載入動作等。亦即,處理器核心511可依照程式,動態地執行任一種命令。另一方面,如下所述,可再構成之元件20包含MLUT(Multi
Look up Table),於再構成上需要記憶體之覆寫處理,故而無法依照特定之命令由電路構成之處理器核心511高速地執行複數個運算處理。然而,例如,藉由進行利用圖像處理之資料檢索處理、或資料檢索處理之並行動作,可顯著地減少自處理器510之主記憶體存取,大幅提高電腦裝置10之處理量。
主記憶體600之資料輸出線與可再構成之元件20之位址輸入線連接。由於主記憶體600被高積體化,故而較佳為可再構成之元件20亦同樣地被高積體化。因此,較佳為可再構成之元件20之記憶體亦包含構成主記憶體之DRAM。
圖2係表示本實施形態之電腦裝置之整體構成之第2例之圖。不同於圖1,於主記憶體600之位址輸入之前段搭載有可再構成之元件20A。
若記憶體控制器516根據位址AD1進行特定之位址空間之讀出,則可再構成之元件20A將位址AD1轉換為位址AD2。根據位址AD2,可再構成之元件20B對自主記憶體600之位址空間輸出之資料RD1進行運算,將資料RD2輸出至記憶體控制器516。
可再構成之元件20A及20B實現記憶體不良救濟、或CAM(Content Addressable Memory,內容可定址記憶體)等。所謂記憶體不良救濟係為了提高良率,將不良位元替換為冗餘位元而將不良變為良品。主記憶體一般而言具有固定之救濟電路,可再構成之元件20A亦可實現該記憶體不良救濟。藉此,可進行測試,將不良切換至其他位址,自立地進行救濟。
圖3表示所構成之運算器之一例。可再構成之元件20可針對每一資料輸出並列地構成圖3之運算器。其為如下構成:將自主記憶體600選擇並讀出之字元位址之記憶體資料直接代入正反器,自由地選擇與正反器之過去旗標之邏輯積、邏輯和、互斥邏輯、以及記憶體資料及
正反器輸出之過去資料之兩者之邏輯否定,且可n位元並列地進行任意之1位元運算。例如於對8位元之資料進行運算之情形時,藉由重複特定次1位元運算而實施。只要當前之資訊處理之資料係1位元資料之集合體、即定義了各1位元之資訊,便可按該運算方式進行全部之資訊處理。
又,如下所述,可再構成之元件包含MLUT此一邏輯單元,其等藉由儲存真值表資料,而構成為邏輯元件及/或連接元件,因此,可構成之電路並不限定於圖3所示之運算器。
又,可再構成之元件20A及20B能夠實現CAM。由於CAM於每一個記憶胞具有符合電路,故而電路構成變得規模極大,必須藉由特殊之記憶體而根據電路設計來製作,無法使用記憶體IP(Intellectual Property,智慧財產權)。然而,可再構成之元件20A於主記憶體600登錄資料時,只要以如索引之形式登錄,便亦可輸出儲存資料字元之主記憶體600之位址。
2. MRLD
以下,將可再構成之邏輯元件亦稱為MRLD(Memory based Reconfigurable Logic Device)(註冊商標),使用同一參照符號20進行說明。MRLD之各MLUT間不介置配線元件而直接連接,並且有效地活用以記憶體IP之形式所供給之同步SRAM(Static Random Access Memory,靜態隨機存取記憶體)之功能。再者,以下記載中之MLUT中雖未圖示,但其具備位址轉換檢測部,即便為同步SRAM亦進行非同步化。藉此,於進行非同步化之同時,不將輸入信號輸入至未構成邏輯之區塊,不引起位址轉換,從而能夠削減電力。由於構成邏輯之區塊被輸入有輸入信號,故而進行時脈產生,可輸出特定之邏輯值。
圖4所示之20為MRLD之一例。MRLD20具有複數個利用同步SRAM之MLUT30、配置為陣列狀之MLUT陣列60、特定出成為
MLUT30之記憶體讀出動作、寫入動作對象之記憶胞之列解碼器61、及行解碼器62。
MLUT30包含同步SRAM。於記憶體之記憶元件中分別記憶被視為真值表之資料,藉此,MLUT30進行作為邏輯元件、或連接元件、或邏輯元件及連接元件而動作之邏輯動作。
於MRLD20之邏輯動作中,使用以實線所示之邏輯用位址LA、及邏輯用資料LD之信號。邏輯用位址LA作為邏輯電路之輸入信號而使用。並且,邏輯用資料LD作為邏輯電路之輸出信號而使用。MLUT30之邏輯用位址LA與鄰接之MLUT之邏輯動作用資料LD之資料線連接。
藉由MRLD20之邏輯動作所實現之邏輯係藉由記憶於MLUT30之真值表資料而實現。若干MLUT30以作為AND(及)電路、加算器等之組合電路之邏輯元件動作。其他MLUT以連接實現組合電路之MLUT30間之連接元件動作。MLUT30用以實現邏輯元件、及連接元件之真值表資料之覆寫係藉由對記憶體之寫入動作而進行。
MRLD20之寫入動作係根據寫入用位址AD、及寫入用資料WD而進行,讀出動作係根據寫入用位址AD、及讀出用資料RD而進行。
寫入用位址AD係特定出MLUT30內之記憶胞之位址。寫入用位址AD藉由m條信號線,特定出2的m次方之數值即n個記憶胞。列解碼器61經由m條信號線接收MLUT位址,並且將MLUT位址進行解碼,選擇並特定出成為記憶體動作之對象之MLUT30。記憶體動作用位址係於記憶體之讀出動作、寫入動作該兩者之情形時使用,且經由m條信號線而藉由列解碼器61、行解碼器62進行解碼,選擇成為對象之記憶胞。再者,於本實施形態中,如下所述,邏輯用位址LA之解碼係藉由MLUT內之解碼器進行。
列解碼器61依照讀出賦能信號re、寫入賦能信號we等控制信號,
將寫入用位址AD之m位元中之x位元進行解碼,並對MLUT30輸出解碼位址n。解碼位址n係作為特定出MLUT30內之記憶胞之位址而使用。
行解碼器62將寫入用位址AD之m位元中之y位元進行解碼,具有與列解碼器61同樣之功能,對MLUT30輸出解碼位址n,並且輸出寫入用資料WD,並輸入讀出用資料RD。
再者,於MLUT之陣列為s列t行之情形時,將n×t位元之資料自MLUT陣列60輸入至列解碼器61。此處,為了選擇各列各自之MLUT,列解碼器輸出o列量之re、we。亦即,o列相當於MLUT之s列。此處,藉由將o位元中之僅1位元設為主動,而選擇特定之記憶胞之字元線。並且,為了使t個MLUT輸出n位元之資料,自MLUT陣列60選擇n×t位元之資料,於選擇其中之1行時使用行解碼器62。
於圖1所示之可再構成之元件20之情形時,圖4之AD相當於圖1之RD1,圖4之RD相當於圖1之RD2。
於圖2所示之20A之情形時,圖4之AD相當於圖2之AD1,圖4之RD相當於圖2之AD2。於圖2所示之20B之情形時,圖4之AD相當於圖2之RD1,圖4之RD相當於圖2之RD2。
3. MLUT
圖7係概略性地表示將圖9所示之包含2記憶胞單元之MLUT橫向堆積而構成之MRLD之圖。圖8係表示MLUT之輸入輸出線之圖。圖7所示之MLUT30自左方向有圖8所示之位址A0L~A7L之輸入,以及,自右方向有圖8所示之位址A0R~A7R之輸入,又,向左方向有圖8所示之資料D0L~D7L之輸出,向右方向有圖8所示之資料D0R~D7R之輸出。n值=8之MLUT於先前方式中成為1M位元,CLB(Configurable Logic Block,可配置邏輯塊)相當為4M位元而大規模化。相對於此,本案中如下所述,包含8K(256字元×16位元×MLUT2個)位元。
圖9係表示圖8所示之MLUT之電路例之圖。圖9所示之MLUT30具有記憶胞單元31A、31B。記憶胞單元例如為SRAM。
如圖9所示,記憶胞單元31A具有由來自一邊之第1複數條位址線所特定且對第1複數條位址線之2倍數量之第1複數條資料線進行輸出之複數個記憶胞,記憶胞單元31B具有由來自另一邊之第2複數條位址線所特定且對第2複數條位址線之2倍數量之第2複數條資料線進行輸出之複數個記憶胞,MLUT30將第1複數條資料線及第2複數條資料線之一部分輸出至一邊,並且將第1複數條資料線及第2複數條資料線之另一部分輸出至另一邊。
各記憶胞單元朝每一方向將真值表資料記憶於記憶胞。因此,於記憶胞單元31A及31B之各者,記憶自右向左方向用之真值表資料、及自左向右方向用之真值表資料。即,MLUT記憶分別規定特定之資料輸出方向之2個真值表資料。
使各記憶胞單元之資料數較位址數增加,並且將自各記憶胞單元進行資料輸出之方向設為雙向,藉此,可減少需要之記憶胞之數量,且可進行向雙向之資料輸出。
圖10係表示較圖9所示之MLUT更詳細之電路例。圖10所示之MLUT30具有記憶胞單元31A、31B、位址解碼器11A、11B、位址選擇器15A、15B、I/O(輸入輸出)緩衝器12A、12B、及資料選擇器13A、13B。MLUT30之記憶胞單元31A、31B分別具有位址解碼器、位址選擇器、及I/O緩衝器、以及資料選擇器。向記憶胞單元31A、31B之輸入位址分別成為位址A0L~A7L、A8~A15、及位址A0R~A7R、A8~A15。因此,記憶胞單元31A、31B成為2的16次方(65,536)字元×8位元之512K之大容量。
於圖9中,記憶胞單元31A、31B分別具有位址A0L~A7L、A8~A15、及位址A0R~A7R、A8~A15之輸入。
再者,圖9係概略圖,未示出作為記憶胞單元之周邊電路之解碼器等,關於解碼器係於各記憶胞單元之每一個準備圖10中所說明之位址解碼器11A、11B,且該等位址解碼器11A、11B配置於位址選擇器15A、15B與記憶胞單元31A、31B之間。因此,位址解碼器亦可將自位址選擇器15A、15B輸出之全部位址進行解碼。
位址選擇器15A、15B係用以切換邏輯動作用之位址線或寫入用之位址之選擇電路,於記憶胞為單埠之情形時,需要該等位址選擇器15A、15B。於將記憶胞設為雙埠之情形時,不需要該等位址選擇器15A、15B。資料選擇器13A、13B係切換輸出資料、或寫入資料WD之選擇電路。
即便MRLD不經過關於專用之小型SRAM之半導體設計試製、製造,亦可利用先前之大容量之記憶體元件。於利用晶片構成MRLD時,使用記憶體IP(Intellectual Property),但於先前之MLUT所謀求之微小記憶體容量中,位址解碼器或感測放大器之面積大而記憶體本身之構成比率成為50%以下。該情況亦成為MRLD之負擔,導致效率較差。若成為大容量記憶體,則位址解碼器或感測放大器之比率降低,記憶體使用效率提高。因此,大容量記憶體之本發明於MRLD晶片之情形時有效。
3.2具有同步/非同步動作用之記憶胞單元之MLUT
此處所說明之MLUT係雙向配置MLUT,具有與圖7及圖8中所說明之MLUT相同之功能構成。然而,不同於上述雙向配置MLUT,具備同步動作用之記憶胞單元、與非同步動作用之記憶胞單元。同步動作用之記憶胞單元反或同步動作用之記憶胞單元構成對,而作為邏輯元件及/或連接元件動作之記憶胞單元為任一個。由於將兩者之資料輸出進行線或(wired OR)連接,或藉由OR(或)電路進行連接,故而於不動作之記憶胞單元儲存全部「0」之資料。
圖11係表示可進行同步與非同步切換之MLUT之電路例之圖。圖11所示之MLUT30具有記憶胞單元31A~31D、位址解碼器11A~11D、I/O(輸入輸出)緩衝器13A~13D、選擇電路32A~32D、資料選擇電路33、及位址轉換檢測部35。位址轉換檢測部35包含ATD(Address Transition Detector,位址轉換檢測器)電路,將時脈及所發送之邏輯位址與上次發送之邏輯位址進行比較,從而檢測位址轉換。
圖5係表示位址轉換檢測部之一例之電路圖。圖6係位址轉換檢測部之時序圖。位址轉換檢測部35具有反或(NOR)電路110A、110B、或(OR)電路120、互斥或(EOR)電路130、延遲電路140A~140C、正反器(FF)150、反相器160A、160B、及D鎖存器170。
信號S1係自處理器輸出之位址輸入信號。信號S2係D鎖存器之輸出。D鎖存器170於信號S1發生變化之情形時,以固定期間內不變化之方式進行鎖存。其原因在於,因雜訊等而忽視後續之位址轉換。
信號S3係自D鎖存器170輸出之延遲信號。延遲信號係如圖5所示,藉由上升及下降製作時脈,且為了產生信號S4之時脈寬度,而藉由延遲電路140B使之延遲。
作為時脈信號而產生之信號S4檢測變化,並自EOR130輸出。EOR130中,由於被輸入延遲電路140B之輸入、輸出,故而若兩者之信號位準不同,則輸出信號位準「高」。藉此,可檢測位址轉換。圖6所示之S4之時間T1表示自邏輯位址之變化檢測起至FF取入為止之時間,時間T2表示自邏輯位址變化檢測起至記憶胞單元讀出為止之時間。
於OR電路120中,被輸入信號S4及其他位址轉換之信號,且輸出OR運算值。藉由延遲電路140C使OR電路120之輸出延遲,輸出信號S5。
信號S5係自延遲電路140C輸出之延遲信號,等待D鎖存器170之賦能信號並進行時脈輸入。
信號S6係信號S5之信號延長,賦能信號之脈衝產生。NOR電路110A將作為信號S5與S6之NOR運算值之信號S7輸出。並且,信號S7成為D鎖存器170之賦能信號。信號S8係藉由反相器160A將信號S5反轉所得之信號,於FF150中作為位址信號之鎖存之時脈而使用。信號S9係作為處於後段之記憶胞單元31之賦能而被利用,信號S10係作為記憶胞單元31之時脈(atd_clk)而被利用,信號S11係作為記憶胞單元31之位址而被利用。圖5之信號S10表示自邏輯位址之變化檢測起至從記憶體讀出為止之時間。
如此,例如於圖1或圖2所示之處理器核心511進行資料要求之情形時,由於具有成為該資料要求之對象之位址之變化而產生時脈,驅動記憶體,故而於需要時記憶體動作,於不需要時不驅動記憶體,而可自主地實現低耗電化。
A. 信號線
於下述表1對圖11所示之信號線進行說明。
B. 同步/非同步記憶胞單元
記憶胞單元31A~31D為同步SRAM。記憶胞單元31A~31D分別記憶用以向左方向及右方向連接之真值表資料。記憶胞單元31B及31D與系統時脈同步地動作。另一方面,記憶胞單元31A及31C由於與下述位址轉換電路35所產生之ATD產生時脈(亦稱為「內部時脈信號」)同步地動作,故而相對於時脈(系統時脈)非同步地動作。由於ATD產生時脈較系統時脈信號以高頻率動作,故而記憶胞單元31A、31C自MLUT30外部看似非同步動作,藉此提供非同步之功能。
除了同步之功能要件,記憶胞單元31A及31C具有與圖9及圖10所示之記憶胞單元31A及31B相同之功能。記憶胞單元31B及31D亦同樣。
位址解碼器11A及11B均係將自左側輸入之位址A0~A3進行解碼,並將解碼信號分別輸出至記憶胞單元31A及31B,將記憶胞單元31A及31B之字元線設為主動。
位址解碼器11C及11D對自右側輸入之位址A4~A7進行解碼,分別將解碼信號輸出至記憶胞單元31C及31D,將記憶胞單元31C及31D之字元線設為主動。
又,位址解碼器11A及11C將SRAM位址非同步信號(sram_address(async))進行解碼,位址解碼器11A及11C將SRAM位址同步信號(sram_address(sync))進行解碼,並將由解碼信號所特定出之
記憶胞單元之字元線活化。
於圖11所示之例中,各記憶胞單元為16 word×8 bit之記憶體區塊。記憶胞單元31A及31B可於同步模式下使用16 word×8 bit×2,於非同步模式下使用16 word×8 bit×2。同步與非同步無法同時動作,例如於將邏輯資料寫入至同步動作記憶胞單元之情形時,對非同步動作記憶胞單元必須全部寫入「0」。
再者,如圖所示,記憶胞單元之資料輸出可設為線或(wired OR),亦可設為或(OR)邏輯電路。
C. 選擇電路
將選擇電路之選擇條件示於下表。
選擇電路32A~32D係選擇非同步動作用之記憶胞單元31A及31C、或同步動作用之記憶胞單元31B及31D之動作之電路。
選擇電路32A若根據選擇信號(Select)選擇非同步動作,則選擇於位址轉換電路35所產生之atd_ad鎖存位址(圖3所示之S11),並作為
SRAM位址非同步信號(sram_address(async))輸出。於未選擇非同步動作之情形時,直接輸出邏輯位址。
選擇電路32B若根據選擇信號(Select)選擇非同步動作,則選擇於位址轉換電路35所產生之ATD產生時脈並輸出。於未選擇非同步動作之情形時,直接輸出時脈。
選擇電路32C若根據選擇信號(Select)選擇非同步動作,則選擇於位址轉換電路35所產生之ATD產生晶片選擇並輸出。於未選擇非同步動作之情形時,直接輸出SRAM晶片賦能。
選擇電路32D若根據選擇信號(Select)選擇同步動作,則直接輸出邏輯位址。
D. 禁止邏輯
又,作為記憶體分割之特性,有禁止邏輯構成。使用表3所示之2個真值表,對禁止邏輯之必要性進行說明。
於真值表1中,表示有使用A0、A1構成AND電路且輸出至D0之真值表。於真值表2中,表示有使用A0、A4構成AND電路且輸出至D0之真值表。由於真值表1之情形時之邏輯僅可於使用A3-A0之記憶胞單元31A進行邏輯運算,故而只要將“0”寫入至其他記憶胞單元,則藉由OR運算,不受其他記憶胞單元之輸出值之影響,因此不會產生禁止邏輯之問題。
另一方面,於真值表2之邏輯之情形時,使用A3-A0之記憶胞單元無法識別c、d。使用A7-A4之SRAM無法識別b、d。如此,跨及2個記憶胞單元之邏輯運算於2個真值表中無法獲得正確之值,故而將跨及2個記憶胞單元之邏輯運算作為禁止邏輯。因此,於邏輯構成之情形時,必須於各記憶胞單元內部實現邏輯。因此,於本實施形態之真值表資料中,以不產生上述禁止邏輯之方式產生邏輯。
E. I/O緩衝器
I/O(輸入輸出)緩衝器13A~13D與時脈及ATD產生時脈之任一者同步地,自記憶胞單元之資料線讀出資料,藉此提供FF之功能。再者,I/O(輸入輸出)緩衝器13A~13D包含將自記憶胞之位元線輸出之電壓放大之感測放大器。
選擇電路32將SRAM資料輸出(O_mdata)依照選擇信號作為SRAM資料輸出、及邏輯資料輸出之任一者輸出。
3.3電路規模調整電路
由於MRLD20包含較小之記憶胞單元,故而與主記憶體600相比,積體電路之規模變大,不相匹配。圖12係表示規模調整電路之一例之圖。規模調整電路21A配置於主記憶體600與MRLD20A之間,電路規模調整電路21B配置於主記憶體600與MRLD20B之間。
4. MLUT之邏輯動作
A. 邏輯元件
圖13係表示MLUT之一例之圖。於圖13中,為了對邏輯動作進行說明,省略對位址選擇器、I/O緩衝器及資料選擇器之記載。圖13所示之MLUT30a、30b分別具有4個邏輯用位址輸入LA線A0~A3、4個邏輯動作用資料線D0~D3、4×16=64個記憶元件40、及位址解碼器9。邏輯動作用資料線D0~D3將16個記憶元件40分別串聯連接。位址解碼器9係以基於輸入至邏輯用位址輸入LA線A0~A3之信號,選擇
連接於16條字元線之任一條之4個記憶元件之方式而構成。該4個記憶元件分別連接於邏輯動作用資料線D0~D3,將記憶於記憶元件之資料輸出至邏輯動作用資料線D0~D3。例如,於將適當之信號輸入至邏輯用位址輸入LA線A0~A3之情形時,可以選擇4個記憶元件40A、40B、40C、及40D之方式而構成。此處,記憶元件40A連接於邏輯動作用資料線D0,記憶元件40B連接於邏輯動作用資料線D1,記憶元件40D連接於邏輯動作用資料線D2,記憶元件40D連接於邏輯動作用資料線D3。並且,記憶於記憶元件40A~40D之信號輸出至邏輯動作用資料線D0~D3。如此,MLUT30A、30B自邏輯用位址輸入LA線A0~A3接收邏輯用位址輸入LA,藉由該邏輯用位址輸入LA將位址解碼器9所選擇之4個記憶元件40中所記憶之值作為邏輯動作用資料分別輸出至邏輯動作用資料線D0~D3。再者,MLUT30A之邏輯用位址輸入LA線A2與鄰接之MLUT30B之邏輯動作用資料線D0連接,MLUT30A將自MLUT30B輸出之邏輯動作用資料作為邏輯用位址輸入LA而接收。又,MLUT30A之邏輯動作用資料線D2與MLUT30B之邏輯用位址輸入LA線A0連接,MLUT30A所輸出之邏輯動作用資料作為邏輯用位址輸入LA而被MLUT30B接收。例如,MLUT30A之邏輯動作用資料線D2基於輸入至MLUT30A之邏輯用位址輸入LA線A0~A3之信號,將連接於邏輯動作用資料線D2之16個記憶元件之任一個中所記憶之信號輸出至MLUT30B之邏輯用位址輸入LA線A0。同樣地,MLUT30B之邏輯動作用資料線D0基於輸入至MLUT30B之邏輯用位址輸入LA線A0~A3之信號,將連接於邏輯動作用資料線D0之16個記憶元件之任一個中所記憶之信號輸出至MLUT30A之邏輯用位址輸入LA線A2。如此,MLUT彼此之連結係使用1對位址線及資料線。以下,如MLUT30A之邏輯用位址輸入LA線A2、與邏輯動作用資料線D2般,將用於MLUT之連結之位址線及資料線之對稱為「AD對」。
再者,於圖13中,MLUT30A、30B所具有之AD對為4,AD對之數量如下所述,並不特別限定於4。
圖14係表示作為邏輯電路動作之MLUT之一例之圖。於本例中,將邏輯用位址輸入LA線A0及A1設為2輸入NOR(反或)電路701之輸入,將邏輯用位址輸入LA線A2及A3設為2輸入NAND(反及)電路702之輸入。並且,構成如下邏輯電路:將2輸入NOR電路701之輸出、與2輸入NAND電路702之輸出向2輸入NAND電路703輸入,將2輸入NAND電路703之輸出向邏輯動作用資料線D0輸出。
圖15係表示圖14所示之邏輯電路之真值表之圖。圖14之邏輯電路由於為4輸入,故而使用輸入A0~A3之全部輸入作為輸入。另一方面,由於輸出僅為1個,故而僅使用輸出D0作為輸出。於真值表之輸出D1~D3欄記載有「*」。其表示可為「0」或「1」之任一值。然而,實際上為了再構成而將真值表資料寫入至MLUT時,必須於該等欄中寫入「0」或「1」之任一值。
B. 連接元件
圖16係表示作為連接元件而動作之MLUT之一例之圖。圖16中,作為連接元件之MLUT以如下之方式動作:將邏輯用位址輸入LA線A0之信號輸出至邏輯動作用資料線D1,將邏輯用位址輸入LA線A1之信號輸出至邏輯動作用資料線D2,將邏輯用位址輸入LA線A2之信號輸出至邏輯動作用資料線D3。作為連接元件之MLUT進而以將邏輯用位址輸入LA線A3之信號輸出至邏輯動作用資料線D0之方式動作。
圖17係表示圖16所示之連接元件之真值表之圖。圖16所示之連接元件為4輸入4輸出。因此,使用輸入A0~A3之全部輸入、與輸出D0~D3之全部輸出。根據圖17所示之真值表,MLUT作為連接元件而動作,該連接元件係將輸入A0之信號輸出至輸出D1,將輸入A1之信號輸出至輸出D2,將輸入A2之信號輸出至輸出D3,將輸入A3之信號
輸出至輸出D0。
圖18係表示藉由具有AD對0、AD對1、AD對2、及AD對3之4個AD對之MLUT而實現之連接元件之一例之圖。AD0具有邏輯用位址輸入LA線A0及邏輯動作用資料線D0。AD1具有邏輯用位址輸入LA線A1及邏輯動作用資料線D1。AD2具有邏輯用位址輸入LA線A2及邏輯動作用資料線D2。並且,AD3具有邏輯用位址輸入LA線A3及邏輯動作用資料線D3。於圖18中,二點鏈線表示將輸入至AD對0之邏輯用位址輸入LA線A0之信號輸出至AD對1之邏輯動作用資料線D1之信號之流向。虛線表示將輸入至AD對1之邏輯用位址輸入LA線A1之信號輸出至AD對2之邏輯動作用資料線D2之信號之流向。實線表示將輸入至AD對2之邏輯用位址輸入LA線A2之信號輸出至AD對3之邏輯動作用資料線D3之信號之流向。單點鏈線表示將輸入至AD對3之邏輯用位址輸入LA線A3之信號輸出至AD對0之邏輯動作用資料線D0之信號之流向。
再者,於圖18中,MLUT30所具有之AD對為4,但AD對之數量並不特別限定於4。
C. 邏輯元件及連接元件之組合功能
圖19係表示1個MLUT作為邏輯元件及連接元件而動作之一例之圖。於圖19所示之例中,構成如下之邏輯電路:將邏輯用位址輸入LA線A0及A1作為2輸入NOR電路171之輸入,將2輸入NOR電路171之輸出、及邏輯用位址輸入LA線A2作為2輸入NAND電路172之輸入,將2輸入NAND電路172之輸出向邏輯動作用資料線D0輸出。又,與此同時,構成將邏輯用位址輸入LA線A3之信號輸出至邏輯動作用資料線D2之連接元件。
圖20表示圖19所示之邏輯元件及連接元件之真值表。圖19之邏輯動作使用輸入D0~D3之3個輸入,使用1個輸出D0作為輸出。另一
方面,圖20之連接元件構成將輸入A3之信號輸出至輸出D2之連接元件。
圖21係表示藉由具有AD0、AD1、AD2、及AD3之4個AD對之MLUT而實現之邏輯動作及連接元件的一例之圖。與圖18所示之MLUT同樣地,AD0具有邏輯用位址輸入LA線A0及邏輯動作用資料線D0。AD1具有邏輯用位址輸入LA線A1及邏輯動作用資料線D1。AD2具有邏輯用位址輸入LA線A2及邏輯動作用資料線D2。並且,AD3具有邏輯用位址輸入LA線A3及邏輯動作用資料線D3。如上所述,MLUT30藉由1個MLUT30而實現3輸入1輸出之邏輯動作、1輸入1輸出之連接元件之2個動作。具體而言,邏輯動作使用AD對0之邏輯用位址輸入LA線A0、AD對1之邏輯用位址輸入LA線A1、AD對2之邏輯用位址輸入LA線A2作為輸入。並且,使用AD對0之邏輯動作用資料線D0之位址線作為輸出。又,連接元件如虛線所示般將輸入至AD對3之邏輯用位址輸入LA線A3之信號輸出至AD對2之邏輯動作用資料線D2。
5. 真值表資料之產生方法
應用於利用第1及第2實施形態所說明之可再構成之半導體裝置之真值表資料係藉由執行邏輯構成用之軟體程式之資訊處理裝置而產生。例如,該資訊處理裝置可為電腦裝置10,又,亦可為具有與電腦裝置10同樣之硬體資源,且連接於網路1100之其他電腦裝置。
參照圖1或圖2,對產生真值表資料之電腦裝置之一例進行說明。電腦裝置10具有處理器510、主記憶體600及驅動裝置550。處理器510執行自通信部530、或驅動裝置550載入之邏輯構成用之軟體1210後,自用以設計積體電路之C語言描述或硬體描述語言(HDL)等電路描述語言1220產生真值表資料1230,並記憶於主記憶體600。處理器510將所產生之真值表資料1230寫入至可再構成之元件20。
驅動裝置550係例如對DVD(Digital Versatile Disc)、快閃記憶體等記憶媒體1200進行讀寫之裝置。驅動裝置550包含使記憶媒體1200旋轉之馬達或於記憶媒體1200上讀寫資料之頭等。驅動裝置550自所設置之記憶媒體1200讀出程式。處理器510將藉由驅動裝置550所讀出之程式或真值表資料儲存至主記憶體600。
將真值表資料1230讀入至可再構成之元件20,藉此使真值表資料及硬體資源協動,藉由該具體方法,構建作為邏輯元件及/或連接元件之功能。又,真值表資料亦可稱為具有表示真值表之邏輯構造之構造之資料。
以上所說明之實施形態僅作為典型例而列舉,對於業者而言,該各實施形態之構成要素之組合、變化及變更顯而易見,只要為業者則可明確,可不脫離本發明之原理及申請專利範圍所記載之發明之範圍,而進行上述實施形態之各種變化。
Claims (7)
- 一種可再構成之元件,其係與主記憶體連接者;且上述可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部;上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述特定出之記憶胞讀出之資料輸出至上述資料線;上述記憶胞陣列單元之位址線與上述主記憶體之資料輸出線連接。
- 如請求項1之可再構成之元件,其中上述記憶胞陣列單元為多重查找表。
- 如請求項1或2之可再構成之元件,其中上述各邏輯部具備:第1位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;第2位址解碼器,其將自上述複數條位址線之另一部分輸入之位址予以解碼;第1記憶胞單元,其具有由上述第1位址解碼器之解碼線所特定出之複數個記憶胞;及第2記憶胞單元,其具有由上述第2位址解碼器之解碼線所特定出之複數個記憶胞。
- 如請求項3之可再構成之元件,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且與輸出特定出上述複數個真值表資料之任一個之資料之第2複數條位址線連接。
- 一種半導體裝置,其具備:主記憶體、及可再構成之元件;該可再構成之元件與上述主記憶體連接,上述可再構成之元件具備藉由位址線或資料線而相互連接之複數個邏輯部,上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;及記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述所特定出之記憶胞讀出之資料輸出至上述資料線;上述記憶胞陣列單元之資料輸出與上述主記憶體之位址線連接。
- 如請求項5之半導體裝置,其進而具備第2可再構成之元件,上述第2可再構成之元件具備藉由位址線或資料線相互連接之複數個邏輯部,上述各邏輯部具有:複數條位址線;複數條資料線;位址解碼器,其將自上述複數條位址線之一部分輸入之位址予以解碼;及 記憶胞陣列單元,其具有由上述位址解碼器之解碼線所特定出之複數個記憶胞,且將自上述所特定出之記憶胞讀出之資料輸出至上述資料線;上述記憶胞陣列單元之資料輸出與上述主記憶體之位址線連接。
- 如請求項5或6之半導體裝置,其進而具備規模調整電路,該規模調整電路於上述主記憶體、與上述可再構成之元件之間,對兩者之電路規模進行調整。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014215160 | 2014-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201626726A TW201626726A (zh) | 2016-07-16 |
TWI618357B true TWI618357B (zh) | 2018-03-11 |
Family
ID=55760712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104131918A TWI618357B (zh) | 2014-10-22 | 2015-09-25 | Reconfigurable component and semiconductor device |
Country Status (6)
Country | Link |
---|---|
US (1) | US9923561B2 (zh) |
EP (1) | EP3211795A4 (zh) |
JP (1) | JP6378775B2 (zh) |
CN (1) | CN107078740A (zh) |
TW (1) | TWI618357B (zh) |
WO (1) | WO2016063667A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10074493B2 (en) * | 2016-11-21 | 2018-09-11 | Aeroflex Colorado Springs Inc. | Radiation-hardened break before make circuit |
US10312918B2 (en) * | 2017-02-13 | 2019-06-04 | High Performance Data Storage And Processing Corporation | Programmable logic design |
CN112735493B (zh) * | 2019-10-28 | 2023-06-13 | 敦泰电子股份有限公司 | 静态随机存取内存系统及其数据读写方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130100750A1 (en) * | 2010-06-24 | 2013-04-25 | Taiyo Yuden Co., Ltd. | Semiconductor device |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726584A (en) * | 1996-03-18 | 1998-03-10 | Xilinx, Inc. | Virtual high density programmable integrated circuit having addressable shared memory cells |
JP3106998B2 (ja) * | 1997-04-11 | 2000-11-06 | 日本電気株式会社 | メモリ付加型プログラマブルロジックlsi |
JP4212257B2 (ja) * | 2001-04-26 | 2009-01-21 | 株式会社東芝 | 半導体集積回路 |
US6765408B2 (en) * | 2002-02-11 | 2004-07-20 | Lattice Semiconductor Corporation | Device and method with generic logic blocks |
AU2003207933A1 (en) * | 2002-03-18 | 2003-09-29 | Koninklijke Philips Electronics N.V. | Configuration memory implementation for lut-based reconfigurable logic architectures |
WO2004093445A1 (ja) * | 2003-04-16 | 2004-10-28 | Fujitsu Limited | Ip画像伝送装置 |
WO2005008736A2 (en) * | 2003-07-14 | 2005-01-27 | Zmos Technology, Inc. | 1t1c sram |
KR100606242B1 (ko) * | 2004-01-30 | 2006-07-31 | 삼성전자주식회사 | 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치 |
WO2006129722A1 (ja) * | 2005-05-31 | 2006-12-07 | Ipflex Inc. | 再構成可能な装置 |
JP5081240B2 (ja) * | 2007-06-25 | 2012-11-28 | 太陽誘電株式会社 | 半導体装置 |
JP5140029B2 (ja) * | 2009-03-30 | 2013-02-06 | 太陽誘電株式会社 | 半導体装置 |
US20110137805A1 (en) | 2009-12-03 | 2011-06-09 | International Business Machines Corporation | Inter-cloud resource sharing within a cloud computing environment |
US8572538B2 (en) * | 2011-07-01 | 2013-10-29 | Altera Corporation | Reconfigurable logic block |
JP5822772B2 (ja) * | 2012-04-11 | 2015-11-24 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
JP5927012B2 (ja) * | 2012-04-11 | 2016-05-25 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
US8767501B2 (en) * | 2012-07-17 | 2014-07-01 | International Business Machines Corporation | Self-reconfigurable address decoder for associative index extended caches |
WO2014065424A1 (ja) * | 2012-10-28 | 2014-05-01 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
US9514259B2 (en) * | 2012-11-20 | 2016-12-06 | Taiyo Yuden Co., Ltd. | Logic configuration method for reconfigurable semiconductor device |
CN105051823B (zh) | 2013-04-02 | 2019-01-25 | 太阳诱电株式会社 | 半导体装置 |
TWI636667B (zh) * | 2013-04-02 | 2018-09-21 | Taiyo Yuden Co., Ltd. | 可再構成之邏輯元件 |
JP6306846B2 (ja) * | 2013-09-16 | 2018-04-04 | 太陽誘電株式会社 | 再構成可能な論理デバイス |
JP6517626B2 (ja) * | 2015-08-11 | 2019-05-22 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
-
2015
- 2015-09-18 US US15/514,179 patent/US9923561B2/en not_active Expired - Fee Related
- 2015-09-18 CN CN201580056708.1A patent/CN107078740A/zh active Pending
- 2015-09-18 WO PCT/JP2015/076610 patent/WO2016063667A1/ja active Application Filing
- 2015-09-18 EP EP15852793.7A patent/EP3211795A4/en not_active Withdrawn
- 2015-09-18 JP JP2016555138A patent/JP6378775B2/ja not_active Expired - Fee Related
- 2015-09-25 TW TW104131918A patent/TWI618357B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130100750A1 (en) * | 2010-06-24 | 2013-04-25 | Taiyo Yuden Co., Ltd. | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
EP3211795A1 (en) | 2017-08-30 |
JP6378775B2 (ja) | 2018-08-22 |
WO2016063667A1 (ja) | 2016-04-28 |
US9923561B2 (en) | 2018-03-20 |
TW201626726A (zh) | 2016-07-16 |
JPWO2016063667A1 (ja) | 2017-06-08 |
EP3211795A4 (en) | 2018-10-03 |
CN107078740A (zh) | 2017-08-18 |
US20170279451A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109427395B (zh) | 用于存储器内操作的设备和方法 | |
JP6325726B2 (ja) | 半導体装置 | |
TWI620194B (zh) | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 | |
US9093135B2 (en) | System, method, and computer program product for implementing a storage array | |
US20190212918A1 (en) | Near-memory compute module | |
KR100880867B1 (ko) | 데이터 비트 인버전 플래그(dbi) 생성용 회로 | |
CN109427384B (zh) | 存储器内处理 | |
US9350357B2 (en) | Reconfigurable semiconductor device | |
US20190087360A1 (en) | System and method for individual addressing | |
US9705505B2 (en) | Reconfigurable semiconductor device | |
TWI647705B (zh) | 可再構成之半導體裝置及其控制方法、用以控制可再構成之半導體裝置之程式、記憶媒體 | |
US10430210B2 (en) | Systems and devices for accessing a state machine | |
JP2020512653A (ja) | インデータパス計算動作のための装置及び方法 | |
US9361956B2 (en) | Performing logical operations in a memory | |
TWI618357B (zh) | Reconfigurable component and semiconductor device | |
US11947979B2 (en) | Systems and devices for accessing a state machine | |
US11580055B2 (en) | Devices for time division multiplexing of state machine engine signals | |
US7778105B2 (en) | Memory with write port configured for double pump write | |
US20160086659A1 (en) | Sram array comprising multiple cell cores | |
JP2004046593A (ja) | キャッシュメモリ及びその制御方法 | |
US11342922B1 (en) | Direct bi-directional gray code counter | |
US20140250252A1 (en) | First-in First-Out (FIFO) Modular Memory Structure | |
WO2018207801A1 (ja) | プログラム可能なデバイス、その論理構成方法、及びそのプログラム | |
CN103984524A (zh) | 一种面向risc处理器的三端口浮点寄存器文件 | |
JP2021152900A (ja) | オーバーラップする範囲を有するコマンドを管理するストレージ装置及びオーバーラップをチェックする方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |