CZ2016272A3 - Systém pro realizaci rozptylovací tabulky - Google Patents
Systém pro realizaci rozptylovací tabulky Download PDFInfo
- Publication number
- CZ2016272A3 CZ2016272A3 CZ2016-272A CZ2016272A CZ2016272A3 CZ 2016272 A3 CZ2016272 A3 CZ 2016272A3 CZ 2016272 A CZ2016272 A CZ 2016272A CZ 2016272 A3 CZ2016272 A3 CZ 2016272A3
- Authority
- CZ
- Czechia
- Prior art keywords
- input
- address
- memory
- output
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Logic Circuits (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Předkládané řešení umožňuje realizovat rozptylovací tabulku, například pro činnost kompresních algoritmů, s rychlou inicializací a současně s malými nároky na systémové prostředky. Hlavními částmi řešení jsou jeden nebo více základních bloků (1), odpovídající počet maskovacích bloků (20), čítač (14), adresní rozdělovač (15), demultiplexor (18) a multiplexor (22). Každý základní blok (1) obsahuje paměť (4) příznakového registru implementovaného jako tabulka LUT. V normálním provozním režimu je adresa celého systému příznaků rozdělena adresním rozdělovačem (15) na část připojenou současně do všech základních bloků (1) a na část, kterou demultiplexor (18) využije pro povolení zápisu do jednoho ze základních bloků (1). Maskovací bloky (20) spolu s multiplexorem (22) vybírají obsah adresovaného základního bloku (1). V režimu inicializace vytváří čítač (14) postupně všechny adresy na vstupech základních bloků (1) pro nastavení pamětí (4) příznakových registrů.
Description
Oblast techniky
Předkládaný vynález se týká systému pro realizaci rozptylovací tabulky a tím i způsobu realizace rozptylovacích tabulek v hardware s využitím specifických vlastností programovatelných hradlových polí FPGA, Field Programmable Gate Array. Řešení patří do oblasti teoretické informatiky a digitálního návrhu.
Dosavadní stav techniky
Současné systémy využívající rozptylovacích tabulek, například pro činnost kompresních algoritmů, lze rozdělit do několika kategorií. Jednou z nich jsou systémy, kde není potřeba inicializovat rozptylovací tabulky. Další skupinou jsou systémy, kde jsou rozptylovací tabulky inicializovány při prvním použití algoritmu, například inicializace programem FPGA nebo inicializace vlastním algoritmem, a rychlost inicializace není pro danou aplikaci klíčová, protože systém přejde do provozního režimu až po inicializaci. Existují také systémy, kde je nutné za plného provozu rozptylovací tabulky při každém spuštění algoritmu znovu inicializovat na požadované hodnoty, například při implementaci kompresních algoritmů rodiny LZ77.
Rozptylovací tabulky kompresních algoritmů realizovaných v hardware jsou většinou realizovány pomocí paměti typu ŠRAM, například Block RAM v obvodech firmy Xilinx, s vysokou hustotou, která je integrována na čipu FPGA. Pro úsporu plochy integrovaného obvodu nedisponují tyto paměti inicializačním signálovým vstupem, který by umožňoval smazat data v jediném hodinovém cyklu integrovaného obvodu. Všechny ostatní části integrovaného obvodu typu FPGA tuto možnost, takzvaný reset, mají.
Paměť typu ŠRAM s vysokou hustotou tak musí být inicializována postupnou inicializací jednotlivých paměťových buněk, kdy doba trvání inicializace je rovna součinu počtu paměťových buněk a délky hodinového taktu použitého integrovaného obvodu. Tento způsob lze považovat za triviální a efektivní z hlediska spotřeby • · «« ' • · · · « « * ······ ·· ’ ‘ • · · · · · * • · · ·· ·· ··· *·' systémových prostředků, která je řádově rovna binárnímu logaritmu z požadované velikosti rozptylovací tabulky, ale s velmi dlouhou dobou inicializace a není proto vhodný pro systémy, kde je nutné rozptylovací tabulky opakovaně inicializovat.
Alternativou je použití částí obvodu FPGA, které disponují možností smazat data v jediném hodinovém cyklu, například klopných obvodů, které mohou být realizovány pomocí ŠRAM buněk s nízkou hustotou. Pomocí klopných obvodů lze vytvořit systém příznaků, kdy jeden klopný obvod obsahuje informaci o platnosti nebo neplatnosti dat v jedné paměťové buňce rozptylovací tabulky. Toto řešení umožňuje rychlou inicializaci, ale nároky na systémové prostředky v obvodu FPGA jsou řádově lineární k požadované velikosti rozptylovací tabulky a pro velké rozptylovací tabulky jsou enormní.
Z výše uvedeného vyplývá, že rozptylovací tabulka s rychlou inicializací a současně s malými nároky na systémové prostředky je stávajícími způsoby řešení obtížně realizovatelná.
Podstata vynálezu
Výše uvedené nedostatky odstraňuje systém pro realizaci rozptylovací tabulky podle předkládaného řešení. Podstatou tohoto systému je, že sestává alespoň z jednoho základního bloku, kde každý základní blok je tvořen prvním multiplexorem opatřeným prvním a druhým adresním vstupem a propojeným svým výstupem s adresním vstupem paměti příznakového registru, implementovaného jako tabulka LUT, a obvodem pro povolení zápisu do pamětí příznakového registru. Obvod pro povolení zápisu do paměti příznakového registru je opatřen vstupem řídicího signálu zápisu do paměti příznakového registru. Výstup tohoto obvodu pro povolení zápisu do paměti příznakového registru je propojen se vstupem signálu zápisu paměti příznakového registru. Tato paměť příznakového registru je dále opatřena vstupem hodinového signálu a datovým vstupem. Na datový vstup je přes invertor připojen vstup řídicího signálu pro inicializaci paměti příznakového registru, který je zároveň propojen s řídicím vstupem prvního multiplexoru a s řídicím vstupem obvodu pro povolení zápisu do paměti příznakového registru. Datový výstup z paměti příznakového registru každého základního bloku je připojen na jeden vstup jemu příslušejícího maskovacího • · 9 ···»··· ···· · · · * * 3··· ♦··»· ······ « · <
• · · · · ·* ·*··· » · · · · «· bloku. Výstupy těchto maskovacích bloků jsou připojeny na vstupy druhého multiplexoru, jehož výstup je výstupem systémů příznaků. Systém dále obsahuje demultiplexor, jehož výstup je propojen se vstupem řídícího signálu zápisu do paměti příznakového registru každého základního bloku a zároveň s druhým vstupem jemu příslušejícího maskovacího bloku. Demultiplexor je opatřen vstupem signálu povolení zápisu a adresním vstupem, který je propojen s výstupem adresního rozdělovače. Adresní rozdělovač je opatřen vstupem adresy pro celý systém příznaků pro normální provozní režim o šířce K bitů, kde K je kladné celé číslo, a výstupem adresního signálu pro adresaci paměti příznakového registru při normálním provozním režimu, který je propojen s prvními adresními vstupy prvních multiplexorů všech základních bloků. Druhé adresní vstupy prvních multiplexorů všech základních bloků jsou propojeny s výstupem adresního signálu pro adresaci paměti příznakového registru pro režim inicializace čítače, jehož jeden vstup je propojen se vstupy řídícího signálu pro inicializaci paměti příznakového registru základních bloků a druhý vstup je vstupem hodinového signálu.
Předkládané řešení umožňuje dosáhnout nejlepšího známého poměru mezi dobou nutnou pro inicializaci rozptylovacích tabulek a množstvím spotřebovaných zdrojů v rámci obvodu FPGA. Předkládané řešení dosahuje vyššího pracovního kmitočtu než obě dnes používané metody pro vytvoření systémů příznaků pro rozptylovací tabulky.
Systém dosahuje výrazné zkrácení doby inicializace na řádově konstantní hodnotu oproti přístupu spočívajícím v postupném přemazání každé paměťové buňky rozptylovací tabulky, která má řádově lineární časovou složitost. Dochází rovněž k výraznému zmenšení potřebných systémových prostředků oproti přístupu využívajícímu klopné obvody, a to na minimálně 2Λη krát menší hodnotu. V případě použití tabulek LUT s typickým počtem vstupů 6 jde o 64x menší nároky na systémové prostředky. Systém kombinuje pozitivní vlastnosti obou předchozích přístupů a omezuje vliv jejich negativních vlastností.
Realizace rozptylovací tabulky za použití uvedeného systému má následující vlastnosti. Je dosažéno řádově konstantní doby, typicky 64 hodinových cyklů, pro smazání všech příznaků celé paměti, která je výrazně menší než u triviálního řešení s postupným mazáním jednotlivých paměťových buněk rozptylovací tabulky. Jsou kladeny • · · · · ·* • · · · · · « • · ···· ·* • · · · ·* • · ···*·« podstatně nižší nároky na systémové prostředky obvodu FPGA oproti řešení využívajícím klopné obvody. Pro středně velké rozptylovací tabulky v řádu několika ox·’ tisíc záznamů jsou nároky na systémové prostředky pouze 2*6x vyšší než tomu je u triviálního řešení, které vyžaduje vytvoření čítače. Systém vykazuje vyšší maximální dosažitelný provozní kmitočet, než u řešení využívajícího klopné obvody, a to díky podstatně menší zabrané části obvodu FPGA. S výjimkou extrémních velikostí rozptylovací tabulky zároveň dosahuje vyššího maximálního provozního kmitočtu než řešení využívající triviální přístup, obsahující více stupňů logiky uvnitř čítače.
Objasnění výkresů
Systém pro realizaci rozptylovací tabulky podle předkládaného vynálezu bude dále <r objasněn pomocí přiložených výkresů. Na ®br. 1 je uvedeno schéma základního bloku a
a na íqbr. 2 je příklad zapojení celého systému.
66C Ia 4 Z. c β- A i
Příklady provedení vynálezu
Popis technického řešení rozptylovací tabulky s rychlou inicializací a malými nároky na systémové prostředky je pro lepší přehlednost rozdělen na popis základního bloku 1 <$ cr na ®br. 1 a systému složeného ze základního bloku 1 a podpůrných funkcí na tjbr. 2.
Systém obsahuje alespoň jeden základní blok 1 Základní blok 1 se skládá z prvního multiplexoru 2, obvodu 3 pro povolení zápisů do paměti 4 příznakového registru a vlastní paměti 4 příznakového registru implementované jako tabulka LUT.
První multiplexor 2 je opatřen prvním a druhým adresním vstupem a svým výstupem je propojen s adresním vstupem 7 paměti 4 příznakového registru. Obvod 3 pro povolení zápisu do paměti 4 příznakového registru je opatřen vstupem 8 řídicího signálu zápisu do paměti 4 příznakového registru. Výstup obvodu 3 pro povolení zápisu do paměti 4 příznakového registru je propojen se vstupem 10 signálu zápisu paměti 4 příznakového registru. Paměť 4 příznakového registru je opatřena dále vstupem hodinového signálu a datovým vstupem, na který je přes invertor 12 připojen vstup 9 řídícího signálu pro inicializaci paměti 4 příznakového registru, který je zároveň propojen s řídicím vstupem prvního multiplexoru 2 a s řídTcím vstupem obvodu 3 pro • · <
povolení zápisu do paměti 4 příznakového registru. Datový výstup 13 z paměti 4 příznakového registru každého základního bloku l je připojen na jeden vstup jemu cs příslušejícího maskovacího bloku 20, #br. 2. Výstupy 21 těchto maskovacích bloků 20 jsou připojeny na vstupy druhého multiplexoru 22. Výstup 23 druhého multiplexoru 22 je výstupem systémů příznaků. Vstup 8 řídícího signálu zápisu do paměti 4 příznakového registru každého základního bloku 1 je propojen s výstupem demultiplexoru 18 a zároveň s druhým vstupem jemu příslušejícího maskovacího bloku 20. Demultiplexor 18 je opatřen vstupem 19 signálu povolení zápisu a adresním vstupem 17, který je propojen s výstupem adresního rozdělovače 15. Adresní rozdělovač 15 je opatřen vstupem 16 adresy pro celý systém příznaků pro normální provozní režim o šířce Kbitů, kde Kje kladné celé číslo, a výstupem 5 adresního signálu pro adresaci paměti 4 příznakového registru při normálním provozním režimu, který je propojen s prvními adresními vstupy prvních multiplexorů 2 všech základních bloků 1. Druhé adresní vstupy prvních multiplexorů 2 všech základních bloků 1 jsou propojeny s výstupem 6 adresního signálu pro adresaci paměti 4 příznakového registru pro režim inicializace čítače 14. Jeden vstup čítače 14 je propojen se vstupy 9 řídicího signálu pro inicializaci paměti 4 příznakového registru základních bloků 1 a druhý vstup je vstupem hodinového signálu.
V rámci základního bloku 1 vstupují řídicí signál z výstupu 5 adresního signálu pro adresaci paměti 4 příznakového registru při normálním provozním režimu a řídicí signál z výstupu 6 adresního signálu pro adresaci paměti 4 příznakového registru pro režim inicializace do prvního multiplexoru 2. První multiplexor 2 je ovládán signálem na vstupu 9 řídícího signálu pro inicializaci paměti 4 příznakového registru a jeho výstup je připojen na adresní vstup 7 paměti 4 příznakového registru. První multiplexor 2 slouží k přepínání požadované adresy paměti 4 příznakového registru mezi režimem inicializace a normálním provozním režimem.
Obvod 3 pro povolení zápisu do paměti 4 příznakového registru vytváří signál zápisu na vstupu 10 signálu zápisu do paměti 4 příznakového registru logickým výrazem OR na základě vstupujícího řídicího signálu na vstupu 8 řídicího signálu zápisu do paměti 4 příznakového registru při normálním provozním režimu a řídicího signálu na vstupu 9 řídicího signálu pro inicializaci paměti 4 příznakového registru.
• · ·
Řídicí signál ze vstupu 9 řídicího signálu pro inicializaci paměti 4 příznakového registru je přes invertor 12 přiveden na datový vstup paměti 4 příznakového registru, jejíž datový výstup 13 indikuje proběhlý zápis do vybraného příznaku.
Na vstup 11 hodinového signálu paměti 4 příznakového registru je přiveden hodinový signál.
Celý systém pro realizaci rozptylovací tabulky se skládá alespoň z jednoho základního bloku u1, odpovídajícího počtu maskovacích bloků 20, čítače 14, adresního rozdělovače 15, demultiplexoru 18 a druhého multiplexoru 22.
Adresa ze vstupu 16 adresy pro celý systém příznaků pro normální provozní režim o šířce K bitů vstupuje do adresního rozdělovače 15, který adresu rozdělí na L méně významných bitů, kde L odpovídá počtu bitů na adresních vstupech 7 pamětí 4 příznakových registrů v základních blocích 1, a tato část je připojena výstupy 5 adresního signálu pro adresaci pamětí 4 příznakových registrů při normálním provozním režimu všech základních bloků 1 a dále na K-L více významných bitů a tato část je připojena na adresní vstup 17 demultiplexoru 18.
Demultiplexor 18 při přítomnosti signálu na vstupu 16 signálu povolení zápisu převede hodnotu na adresním vstupu 17 na aktivaci jednoho z výstupů připojených na vstupy 8 řídících signálů zápisu do pamětí 4 příznakového registru jednotlivých základních bloků 1. Počet řídících signálů na vstupech 8 řídících signálů je dán výrazem 2A(K-L).
Datové výstupy 13 z pamětí 4 příznakového registru základních bloků 1 jsou připojeny na odpovídající maskovací bloky 20, jejichž výstupy 21 jsou připojeny na vstupy druhéo multiplexoru 22. Právě jeden ze všech maskovacích bloků 20 pracujících jako logické členy typu AND je aktivovaný logickou hodnotou 1 na vstupu 8 řídícího signálu do paměti 4 příznakového registru z demultiplexoru 18, čímž propustí signál ze svého vstupu na výstup 21. Druhý multiplexor 22 pracující jako logický člen typu OR díky pravidlům Boolovy algebry, to je neutralita logické 0 v logickém součtu, zajistí propagaci hodnoty vstupu z aktivovaného maskovacího bloku 20 na výstup systémů příznaků 23.
• · • · • « · · ···· · · ·· · t « * « · · · ♦ ·· í ······ · ·· I ······ ·<
··· ·· ·» ··· ··<
Čítač 14 po dobu aktivace signálem inicializace na vstupu 9 řídícího signálu pro inicializaci paměti 4 příznakového registru nastavuje řídící signál na výstupu 6 adresního signálu pro adresaci pamětí 4 příznakových registrů ve všech základních blocích 1 pro režim inicializace postupně na všechny hodnoty ve zbytkové (modulo) aditivní grupě o základu 2AL. Tím je zaručeno vygenerování celého adresního rozsahu pamětí 4 příznakových registrů v základních blocích 1 Přechod mezi jednotlivými kroky čítače 14 je spouštěn hodinovým signálem ze vstupu 11 hodinového signálu, který zároveň aktivuje všechny základní bloky 1.
Podstatou nového řešení je tedy použití jiné části, tak zvané distribuované paměti, integrovaného obvodu typu FPGA, pro realizaci systému příznaků platnosti dat v paměťových buňkách rozptylovací tabulky, namísto klopných obvodů. Distribuovaná paměť je v obvodu FPGA realizována jako vyhledávací tabulka LUT (Look-Up Table), jejíž velikost je rovna 2Λη, kde n je počet datových vstupů, a je typicky roven 4 nebo 6. To v případě například 6 vstupů umožňuje v jediné tabulce LUT vytvořit systém příznaků o velikosti 2Λ6 = 64 příznaků. Navzdory nemožnosti smazat obsah celé tabulky LUT v jediném hodinovém cyklu, je možné smazat obsahy všech těchto distribuovaných pamětí současně díky jejich nezávislosti. Doba nutná pro smazání systému příznaků je v tomto případě 2Λη hodinových cyklů což je více než u varianty využívající klopné obvody, u které je možné smazání v 1 hodinovém cyklu, ale tato doba je však řádově konstantní a nezávislá na velikosti rozptylovací tabulky.
Průmyslová využitelnost
Předkládané řešení je dobře průmyslově využitelné χ například v systémech realizujících kompresní algoritmy rodiny LZ77, které využívají rozptylovací tabulky, jež je nutné při každém spuštění algoritmu znovu inicializovat na požadované hodnoty. Princip řešení je zvláště výhodný pro implementace v integrovaných obvodech typu FPGA s distribuovanou pamětí realizovanou pomocí vyhledávacích tabulek LUT (Look-Up Table),
Claims (1)
- PATENTOVÉ NÁROKYSystém pro realizaci rozptylovací tabulky, vyznačující se tím, že sestává alespoň z jednoho základního bloku (1), kde každý základní blok (1) je tvořen prvním multiplexorem (2) opatřeným prvním a druhým adresním vstupem a propojeným svým výstupem s adresním vstupem (7) paměti (4) příznakového registru implementovaného jako tabulka LUT, a obvodem (3) pro povolení zápisu do paměti (4) příznakového registru, který je opatřen vstupem (8) řídicího signálu zápisu do paměti (4) příznakového registru, a jehož výstup je propojen se vstupem (10) signálu zápisu paměti (4) příznakového registru, která je opatřena dále vstupem (11) hodinového signálu a datovým vstupem, na který je přes invertor (12) připojen vstup (9) řídícího signálu pro inicializaci paměti (4) příznakového registru, který je zároveň propojen s řídícím vstupem prvního multiplexoru (2) a s řídicím vstupem obvodu (3) pro povolení zápisu do paměti (4) příznakového registru a datový výstup (13) z paměti (4) příznakového registru každého základního bloku (1) je připojen na jeden vstup jemu příslušejícího maskovacího bloku (20), kde výstupy (21) těchto maskovacích bloků (20) jsou připojeny na vstupy druhého multiplexoru (22), jehož výstup (23) je výstupem systémů příznaků, a kde vstup (8) řídicího signálu zápisu do paměti (4) příznakového registru každého základního bloku (1) je propojen s výstupem demultiplexoru (18) a zároveň s druhým vstupem jemu příslušejícího maskovacího bloku (20) a tento demultiplexor (18) je opatřen vstupem (19) signálu povolení zápisu a adresním vstupem (17), který je propojen s výstupem adresního rozdělovače (15) opatřeného vstupem (16) adresy pro celý systém příznaků pro normální provozní režim o šířce K bitů, kde K je kladné celé číslo a výstupem (5) adresního signálu pro adresaci paměti (4) příznakového registru při normálním provozním režimu, který je propojen s prvními adresními vstupy prvních multiplexorů (2) všech základních bloků (1), přičemž druhé adresní vstupy prvních multiplexorů (2) všech základních bloků (1) jsou propojeny s výstupem (6) adresního signálu pro adresaci paměti (4) příznakového registru pro režim inicializace čítače (14), jehož jeden vstup je propojen se vstupy (9) řídicího signálu pro inicializaci paměti (4) příznakového registru základních bloků (1) a druhý vstup je vstupem hodinového signálu.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CZ2016-272A CZ2016272A3 (cs) | 2016-05-10 | 2016-05-10 | Systém pro realizaci rozptylovací tabulky |
| EP17165860.2A EP3244324B1 (en) | 2016-05-10 | 2017-04-11 | System for implementation of a hash table |
| US15/591,496 US10262702B2 (en) | 2016-05-10 | 2017-05-10 | System for implementation of a hash table |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CZ2016-272A CZ2016272A3 (cs) | 2016-05-10 | 2016-05-10 | Systém pro realizaci rozptylovací tabulky |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CZ306787B6 CZ306787B6 (cs) | 2017-07-07 |
| CZ2016272A3 true CZ2016272A3 (cs) | 2017-07-07 |
Family
ID=58672309
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CZ2016-272A CZ2016272A3 (cs) | 2016-05-10 | 2016-05-10 | Systém pro realizaci rozptylovací tabulky |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10262702B2 (cs) |
| EP (1) | EP3244324B1 (cs) |
| CZ (1) | CZ2016272A3 (cs) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5126739A (en) * | 1989-01-13 | 1992-06-30 | Stac Electronics | Data compression apparatus and method |
| WO2009005758A2 (en) * | 2007-06-29 | 2009-01-08 | Rmi Corporation | System and method for compression processing within a compression engine |
| US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
| US9075735B2 (en) * | 2012-06-21 | 2015-07-07 | Breakingpoint Systems, Inc. | Systems and methods for efficient memory access |
| US9569561B2 (en) * | 2013-07-09 | 2017-02-14 | Cisco Technology, Inc. | Label masked addressable memory |
-
2016
- 2016-05-10 CZ CZ2016-272A patent/CZ2016272A3/cs not_active IP Right Cessation
-
2017
- 2017-04-11 EP EP17165860.2A patent/EP3244324B1/en not_active Not-in-force
- 2017-05-10 US US15/591,496 patent/US10262702B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CZ306787B6 (cs) | 2017-07-07 |
| US10262702B2 (en) | 2019-04-16 |
| US20170330605A1 (en) | 2017-11-16 |
| EP3244324B1 (en) | 2018-09-12 |
| EP3244324A1 (en) | 2017-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5977791A (en) | Embedded memory block with FIFO mode for programmable logic device | |
| US6288566B1 (en) | Configuration state memory for functional blocks on a reconfigurable chip | |
| US5834947A (en) | Microcontroller accessible macrocell | |
| CN100419667C (zh) | 具有单倍数据率和双倍数据率功能的先入先出存储装置 | |
| US5802003A (en) | System for implementing write, initialization, and reset in a memory array using a single cell write port | |
| US10073989B2 (en) | Systems and methods for preventing data remanence in memory systems | |
| CA2409161A1 (en) | Method and apparatus for incorporating a multiplier into an fpga | |
| JPS63276795A (ja) | 可変長シフトレジスタ | |
| US9350357B2 (en) | Reconfigurable semiconductor device | |
| US9425800B2 (en) | Reconfigurable logic device | |
| KR20180116117A (ko) | 프로그래밍가능 게이트 어레이에 대한 로직 블록 아키텍처 | |
| EP0178163A2 (en) | A dual access digital storage device | |
| JP2004133961A (ja) | データインバージョン回路及び半導体装置 | |
| EP1488522B1 (en) | Configuration memory implementation for lut-based reconfigurable logic architectures | |
| US20090231935A1 (en) | Memory with write port configured for double pump write | |
| US7979607B2 (en) | Cascadable high-performance instant-fall-through synchronous first-in-first-out (FIFO) buffer | |
| US5394450A (en) | Circuit for performing arithmetic operations | |
| CZ2016272A3 (cs) | Systém pro realizaci rozptylovací tabulky | |
| US20040251932A1 (en) | Transfer of digital data across asynchronous clock domains | |
| US7626420B1 (en) | Method, apparatus, and system for synchronously resetting logic circuits | |
| US7460431B1 (en) | Implementation of double data rate embedded memory in programmable devices | |
| US7242633B1 (en) | Memory device and method of transferring data in memory device | |
| US9367450B1 (en) | Address arithmetic on block RAMs | |
| US20060155940A1 (en) | Multi-queue FIFO memory systems that utilize read chip select and device identification codes to control one-at-a-time bus access between selected FIFO memory chips | |
| JP4468564B2 (ja) | パルス幅変調回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Patent lapsed due to non-payment of fee |
Effective date: 20220510 |