CZ2016272A3 - Systém pro realizaci rozptylovací tabulky - Google Patents

Systém pro realizaci rozptylovací tabulky Download PDF

Info

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
Application number
CZ2016-272A
Other languages
English (en)
Other versions
CZ306787B6 (cs
Inventor
Matěj Bartík
Sven Ubik
Original Assignee
CESNET, zájmové sdružení právnických osob
České vysoké učení technické v Praze - Fakulta informačních technologií
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 CESNET, zájmové sdružení právnických osob, ÄŚeskĂ© vysokĂ© uÄŤenĂ­ technickĂ© v Praze - Fakulta informaÄŤnĂ­ch technologiĂ­ filed Critical CESNET, zájmové sdružení právnických osob
Priority to CZ2016-272A priority Critical patent/CZ2016272A3/cs
Priority to EP17165860.2A priority patent/EP3244324B1/en
Priority to US15/591,496 priority patent/US10262702B2/en
Publication of CZ306787B6 publication Critical patent/CZ306787B6/cs
Publication of CZ2016272A3 publication Critical patent/CZ2016272A3/cs

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed 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)

  1. PATENTOVÉ NÁROKY
    Systé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.
CZ2016-272A 2016-05-10 2016-05-10 Systém pro realizaci rozptylovací tabulky CZ2016272A3 (cs)

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)

* Cited by examiner, † Cited by third party
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

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