RU2798197C1 - Parallel-serial structure device for detecting non-overlapping bit patterns - Google Patents

Parallel-serial structure device for detecting non-overlapping bit patterns Download PDF

Info

Publication number
RU2798197C1
RU2798197C1 RU2023102025A RU2023102025A RU2798197C1 RU 2798197 C1 RU2798197 C1 RU 2798197C1 RU 2023102025 A RU2023102025 A RU 2023102025A RU 2023102025 A RU2023102025 A RU 2023102025A RU 2798197 C1 RU2798197 C1 RU 2798197C1
Authority
RU
Russia
Prior art keywords
group
input
inputs
external
bit
Prior art date
Application number
RU2023102025A
Other languages
Russian (ru)
Inventor
Игорь Михайлович Ядыкин
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ)
Application granted granted Critical
Publication of RU2798197C1 publication Critical patent/RU2798197C1/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: invention can be used to build functional units for analysing the properties of generators of pseudo-random sequences of binary numbers, filtering events, processing signals, images and results of physical experiments. The device comprises an external m-bit data input ID and an m-bit input of a given template IG, a group of external data outputs QB and the number of detected templates QK, the first RS start-stop trigger TSS, the second delay D-trigger TR2, the group counter CTG, the output buffer OB, the first R1 data register, the second R2 data register, a group of m comparators, a group of m AND elements, a group of (m-1) OR elements, a unit counter, an AND element, a NOR element, a CTC pattern counter, and a mask register RM.
EFFECT: identifying non-overlapping patterns containing specified groups (sequence) of single and zero bits and their location in the input data groups.
1 cl, 3 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

Изобретение относится к области вычислительной техники, в частности к устройствам обработки данных, и может быть использовано для построения функциональных узлов для анализа свойств генераторов псевдослучайных последовательностей двоичных чисел, фильтрации событий, обработки сигналов, изображений и результатов физических экспериментов.The invention relates to the field of computer technology, in particular to data processing devices, and can be used to build functional units for analyzing the properties of generators of pseudo-random sequences of binary numbers, filtering events, processing signals, images and results of physical experiments.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИPRIOR ART

Известно устройство последовательного типа для детектирования групп нулевых и единичных бит и определение их количества (RU №2680759 С1, МПК G06F 7/74, заявлено 16.02.2018, опубл. 26.02.2019, Бюл. №6) в котором для входных последовательностей данных размерностью N, поступающих на внешний вход данных DI, на соответствующих внешних выходах групп устройства формируются двоичные коды, соответствующие количеству групп QG, количеству нулевых бит QZ, количеству единичных бит QU, разности между количеством единичных и нулевых бит QZU, количество бит по группам QO с выходного буфера ОВ 11, при этом в четных адресах, начиная с нулевого адреса, указывается количество нулевых бит в группах, а в нечетных адресах, начиная с первого адреса, указывается количество единичных бит в группах, а также формируются флаг готовности FE, флаг «нулей больше единиц» F01, флаг «Буфер заполнен» FF и флаг «Буфер пуст» FZ.A serial type device for detecting groups of zero and one bits and determining their number is known (RU No. 2680759 C1, IPC G06F 7/74, declared 16.02.2018, publ. 26.02.2019, Bull. No. 6) in which for input data sequences with a dimension N inputs to the external data input DI, binary codes are formed at the corresponding external outputs of the device groups, corresponding to the number of groups QG, the number of zero bits QZ, the number of single bits QU, the difference between the number of single and zero bits QZU, the number of bits by groups QO from the output buffer OB 11, while in even addresses, starting from the zero address, the number of zero bits in groups is indicated, and in odd addresses, starting from the first address, the number of single bits in groups is indicated, and the ready flag FE is formed, the flag "more than zeros units" F01, "Buffer full" flag FF and "Buffer empty" flag FZ.

Недостатками данного устройства является последовательный однобитовый ввод входных данных и определение групп нулевых и единичных бит произвольной размерности, а не заданных шаблонов из совокупности единичных и нулевых бит.The disadvantages of this device is the sequential one-bit input of input data and the definition of groups of zero and one bits of arbitrary dimension, rather than given patterns from a set of one and zero bits.

Известно устройство параллельно-последовательной структуры для детектирования групп нулевых и единичных бит и определение их количества (RU №2711054 С1, МПК G06F 7/74, заявлено 06.08.2019, опубл. 14.01.2020, Бюл. №2), содержащее М разрядов D1, …, DM набора входных данных из N разрядного двоичного числа, состоящего из L наборов по М разрядов в наборе, где N=L*M, N внешних выходов групп бит QG1, …, QGN, группу внешних выходов общего количества групп QK, внешний выход левого (первого) бита QLB, группу внешних выходов количества единичных бит QU, группу внешних выходов количества нулевых бит QZ, модуль FK детектирования групп 1, первый триггер ТЕВ разрешения приема 2, триггер TLB левого (первого) бита 3, элемент «ИСКЛЮЧАЮЩЕЕ ИЛИ» 4, элемент И с одним инверсным входом 5, первый модуль SF_1 сдвига групп 6, первый сумматор SMG бит в группе 7, вычитатель SB 8, второй модуль SF_2 сдвига групп 9, второй сумматор SM_K количества групп 10, третий сумматор SM_U количества единичных бит 11, триггер ТРО пуска-останова 12, регистр RG_G групп бит 13, регистр RG_K количества групп 14, регистр RG_U количества единичных бит 15, третий модуль SF_3 сдвига групп 16, четвертый сумматор SM_N дополнения 17, пятый сумматор SM_Z количества нулевых бит 18, второй триггер TEQ разрешения приема 19, первый выходной буферный регистр кодов групп 20, второй выходной буферный регистр общего количества групп 21, выходной триггер левого (первого) бита входных данных 22, третий выходной буферный регистр количества единичных бит 23, четвертый выходной буферный регистр количества нулевых бит 24, внешние входы С тактовых сигналов 25, R синхронной установки в нулевое состояние 26, начала работы START, остановки STOP и внутренний флаг декрементации FD.A parallel-serial structure device for detecting groups of zero and one bits and determining their number is known (RU No. 2711054 C1, IPC G06F 7/74, declared 08/06/2019, publ. 01/14/2020, Bull. No. 2), containing M bits D1 , …, DM of an input data set of N bit binary number, consisting of L sets of M bits in the set, where N=L*M, N external outputs of groups of bits QG1, …, QGN, group of external outputs of the total number of groups QK, external left (first) bit output QLB, external output group of the number of 1 bits QU, external output group of the number of zero bits QZ, group detection module FK 1, first enable TEB trigger 2, left (first) bit TLB trigger 3, XOR element » 4, AND element with one inverse input 5, the first group shift module SF_1 6, the first adder SMG bits in a group 7, the subtractor SB 8, the second group shift module SF_2 9, the second adder SM_K of the number of groups 10, the third adder SM_U of the number of one bits 11, trigger TPO start-stop 12, group bit register RG_G 13, group number register RG_K 14, number of ones bit register RG_U 15, third group shift module SF_3 16, fourth adder SM_N complement 17, fifth adder SM_Z number of zero bits 18, second receive enable flip-flop TEQ 19, first output buffer register of group codes 20, second output buffer register of total number of groups 21, output trigger of the left (first) bit of input data 22, third output buffer register of the number of ones bits 23, fourth output buffer register of the number of zero bits 24, external inputs C clock signals 25, R synchronous set to zero state 26, start operation START, stop STOP and internal decrement flag FD.

Недостатком данного устройства является выявление отдельных групп нулевых и единичных бит произвольной размерности, а не заданных шаблонов из совокупности единичных и нулевых бит.The disadvantage of this device is the identification of individual groups of zero and one bits of arbitrary dimension, and not given patterns from the totality of one and zero bits.

Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятое за прототип, устройство для детектирования групп бит (RU №2780985, МПК G06F 7/74, G06F 7/02, заявлено 01.12.2021, опубликовано 04.10.2022, Бюл. №28), содержащее внешний m разрядный вход данных ID, внешний m разрядный вход заданного шаблона IG, группу внешних выходов данных QB, первый RS-триггер пуска-останова TSS 1, второй D-триггер TR2 задержки 2, счетчик CTG групп 3, выходной буфер ОВ 4, первый R1 регистр данных 5, второй R2 регистр данных 6, группу из m компараторов 71, 72, …,7m, группу из (m-1) элементов И 82, 83, …, 8m, элемент ИЛИ 9 и элемент И 10, а также введены внешние входы асинхронной установки в нулевое состояние CLR, пуска устройства START, остановки устройства STOP и тактовый С, внутренняя 2m-разрядная шина данных BD, внутренняя m-разрядная шина данных буфера IOB, внутренний флаг совпадения FE, внешняя шина управления обменом ЕО, внешние флаг «Буфер заполнен» FF и флаг «Буфер пуст» FZ.The closest device for the same purpose to the claimed invention in terms of the totality of features is, adopted as a prototype, a device for detecting groups of bits (RU No. No. 28), containing an external m-bit data input ID, an external m-bit input of a given pattern IG, a group of external data outputs QB, the first RS start-stop trigger TSS 1, the second delay D-trigger TR2 2, the CTG group counter 3, output buffer OB 4, first R1 data register 5, second R2 data register 6, group of m comparators 7 1 , 7 2 , …, 7 m , group of (m-1) AND elements 8 2 , 8 3 , …, 8 m , OR element 9 and AND element 10, as well as external inputs for asynchronous setting to zero state CLR, device start START, device stop STOP and clock C, internal 2m-bit data bus BD, internal m-bit data bus IOB buffer, internal match flag FE, external exchange control bus EO, external buffer full flag FF and buffer empty flag FZ.

Недостатком данного устройства является выявление перекрывающихся шаблонов, содержащих заданные группы (последовательность) из единичных и нулевых бит и их расположение во входных данных.The disadvantage of this device is the detection of overlapping patterns containing a given group (sequence) of single and zero bits and their location in the input data.

ЗАДАЧА ИЗОБРЕТЕНИЯOBJECT OF THE INVENTION

Задачей изобретения является разработка аппаратных средств групповой структуры для исследования свойств генераторов псевдослучайных последовательностей двоичных чисел, а также для обработки результатов физических экспериментов и изображений.The objective of the invention is the development of group structure hardware for studying the properties of generators of pseudo-random sequences of binary numbers, as well as for processing the results of physical experiments and images.

При анализе генераторов псевдослучайных последовательностей двоичных чисел устройство предназначено для выявления заданных неперекрывающихся шаблонов из совокупности групп (рядов) нулевых и единичных бит.When analyzing generators of pseudo-random sequences of binary numbers, the device is designed to identify given non-overlapping patterns from a set of groups (rows) of zero and one bits.

При обработке результатов физических экспериментов устройство предназначено для выявления непериодических событий (областей) - заданных длительностей событий и интервалов между ними, а также координат событий.When processing the results of physical experiments, the device is designed to identify non-periodic events (regions) - given durations of events and intervals between them, as well as event coordinates.

Техническим результатом изобретения является расширение арсенала средств того же назначения, в части возможности выявления неперекрывающихся шаблонов содержащих заданные группы (последовательность) из единичных и нулевых бит и их расположение в группах входных данных.The technical result of the invention is the expansion of the arsenal of tools for the same purpose, in terms of the possibility of identifying non-overlapping patterns containing specified groups (sequence) of single and zero bits and their location in groups of input data.

КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯBRIEF DESCRIPTION OF THE INVENTION

Указанный технический результат при осуществлении изобретения достигается тем, что устройство параллельно-последовательной структуры для детектирования неперекрывающихся шаблонов бит содержит внешний m разрядный вход данных ID, внешний m разрядный вход заданного шаблона IG, группу внешних выходов данных QB, группу внешних выходов количества выявленных шаблонов QK, первый RS-триггер пуска-останова TSS 1, второй D-триггер TR2 задержки 2, счетчик CTG групп 3, выходной буфер ОВ 4, первый R1 регистр данных 5, второй R2 регистр данных 6, группу из m компараторов 71, 72, …,7m, группу из m элементов И 81, 82, …, 8m, группу из (m-1) элементов ИЛИ 91, 92, …, 9(m-1), блок счета единиц 10, элемент И 11, элемент ИЛИ-НЕ 12, счетчик шаблонов СТК 13 и регистр маски RM 14,The specified technical result in the implementation of the invention is achieved in that the parallel-serial structure device for detecting non-overlapping bit patterns contains an external m-bit data input ID, an external m-bit input of a given template IG, a group of external data outputs QB, a group of external outputs of the number of detected patterns QK, first RS start-stop flip-flop TSS 1, second D-flip-flop TR2 delay 2, group counter CTG 3, output buffer OB 4, first R1 data register 5, second R2 data register 6, group of m comparators 7 1 , 7 2 , …,7 m , a group of m elements AND 8 1 , 8 2 , …, 8 m , a group of (m-1) elements OR 9 1 , 9 2 , …, 9 (m-1) , unit count block 10, AND element 11, OR NOT element 12, STK pattern counter 13 and mask register RM 14,

а также введены внешние входы асинхронной установки в нулевое состояние CLR, пуска устройства START, остановки устройства STOP и тактовый вход С, внутренняя 2m-разрядная шина данных BD, внутренняя шина v разрядного двоичного кода начала шаблона в группе ВВ (где v=]log2 m[(большее целое)), внутренняя m разрядная шина кода единичного позиционного ряда ВС, внутренняя m разрядная шина маски ВМ, внутренний флаг совпадения FE, внешняя шина управления обменом ЕО, внешние флаг «Буфер заполнен» FF и флаг «Буфер пуст» FZ,and also introduced external inputs of asynchronous setting to the zero state CLR, start device START, stop device STOP and clock input C, internal 2m-bit data bus BD, internal bus v of the bit binary code of the beginning of the pattern in the group BB (where v =] log2 m [(greater integer)), internal m-bit line code of the single position row BC, internal m-bit bus mask BM, internal match flag FE, external exchange control bus EO, external flag "Buffer full" FF and flag "Buffer empty" FZ,

причем внешний вход асинхронной установки в нулевое состояние CLR соединен с соответствующими входами асинхронной установки в нулевое состояние CLR первого RS-триггера пуска-останова TSS 1 и второго D-триггера TR2 задержки,moreover, the external input of the asynchronous zeroing CLR is connected to the corresponding inputs of the asynchronous zeroing CLR of the first RS start-stop flip-flop TSS 1 and the second delay D-latch TR2,

внешний тактовый вход устройства С соединен с входами синхронизации С первого RS-триггера пуска-останова TSS 1, второго D-триггера TR2 задержки 2, счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистра данных 5, второго R2 регистра данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14,The external clock input of device C is connected to the clock inputs C of the first RS start-stop flip-flop TSS 1, the second D-flip-flop TR2 of the delay 2, the CTG group counter 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6, template counter STK 13 and mask register RM 14,

внешний вход пуска устройства START соединен с входом S синхронной установки в единичное состояние первого RS-триггера пуска-останова TSS 1 и с входами R синхронной установки в нулевое состояние счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистр данных 5, второго R2 регистр данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14,the external start input of the START device is connected to the input S of the synchronous setting to a single state of the first RS start-stop trigger TSS 1 and to the inputs R of the synchronous setting to the zero state of the CTG counter of groups 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6, pattern counter STK 13 and mask register RM 14,

внешний вход остановки устройства STOP соединен с входом R синхронной установки в нулевое состояние первого RS-триггера пуска-останова TSS 1,the external stop input of the STOP device is connected to the input R of the synchronous set to zero state of the first RS start-stop trigger TSS 1,

причем прямой выход первого RS-триггера пуска-останова TSS 1 соединен с D-входом второго триггера TR2 задержки 2, с входами СЕ разрешения работы первого R1 регистра данных 5, второго R2 регистра данных 6, регистра маски RM 14 и третьими входами первых (m-1) элементов И группы 81, 82, …, 8(m-1),moreover, the direct output of the first RS-trigger start-stop TSS 1 is connected to the D-input of the second trigger TR2 delay 2, with the inputs CE of enabling the operation of the first R1 data register 5, the second R2 data register 6, the mask register RM 14 and the third inputs of the first (m -1) elements AND groups 8 1 , 8 2 , …, 8 (m-1) ,

выход второго D-триггера TR2 задержки соединен с входом СЕ разрешения работы счетчика CTG групп 3 и первым входом элемента И 11, выход которого соединен с входом СЕ разрешения записи в выходной буфер ОВ 4 и разрешения счета СЕ счетчика шаблонов СТК 13, выходы которого являются группой внешних выходов количества выявленных шаблонов QK,the output of the second D-flip-flop TR2 of the delay is connected to the input CE of enabling the operation of the CTG counter of groups 3 and the first input of the element AND 11, the output of which is connected to the input of the CE of the permission to write to the output buffer OB 4 and the permission of the account of the CE of the counter of the CTC templates 13, the outputs of which are a group external outputs of the number of detected QK templates,

причем внешний m разрядный вход заданного шаблона IG соединен с первыми группами входов всех m компараторов группы 71, 72, …,7m, выходы которых соединены со вторыми входами соответствующих одноименных элементов И группы 81, 82, …, 8m,moreover, the external m-bit input of the given template IG is connected to the first groups of inputs of all m comparators of the group 7 1 , 7 2 , …, 7 m , the outputs of which are connected to the second inputs of the corresponding elements of the same name AND of the group 8 1 , 8 2 , …, 8 m ,

внешний m разрядный вход данных ID соединен с группой информационных D-входов первого R1 регистра данных 5, выходы которого являются соответствующими разрядами, начиная с первого до m-го разряда, внутренней шины данных BD, а также соединены с группой информационных D-входов второго R2 регистра данных 6, выходы которого являются соответствующими разрядами, начиная с (m+1)-го до 2m-го разряда, внутренней шины данных BD,the external m-bit data input ID is connected to the group of information D-inputs of the first R1 data register 5, the outputs of which are the corresponding bits, starting from the first to the m-th bit, of the internal data bus BD, and is also connected to the group of information D-inputs of the second R2 data register 6, the outputs of which are the corresponding bits from the (m+1)th to the 2mth bit, of the internal data bus BD,

причем разряды внутренней шины данных BD группами по m разрядов, каждая из которых начинается с (i+1)-го разряда (i=l,…, m), соединены со вторыми группами входов соответствующих i-ых компараторов группы 71, 72, …,7m, moreover, the bits of the internal data bus BD in groups of m bits, each of which begins with the (i+1)-th bit (i=l,…, m), are connected to the second groups of inputs of the corresponding i-th comparators of the group 7 1 , 7 2 , …,7 m,

выходы первых (m-1) элементов И группы 81, 82, …, 8(m-1) соединены с первыми входами одноименных элементов ИЛИ группы 91, 92, …, 9(m-1), а выход последнего m-го элемента И 8m соединен со вторым входом последнего элемента 9(m-1), а также является m-м разрядом внутренней шины кода единичного позиционного ряда ВС, у которой разрядами, начиная с первого до (m-1)-го разряда, являются выходы одноименных (m-1) элементов ИЛИ группы 91, 92, …, 9(m-1),the outputs of the first (m-1) elements AND of the group 8 1 , 8 2 , ..., 8 (m-1) are connected to the first inputs of the same elements OR of the group 9 1 , 9 2 , ..., 9 (m-1) , and the output of the last m-th element AND 8 m is connected to the second input of the last element 9 (m-1) , and is also the m-th bit of the internal bus code of the unit positional row VS, in which the bits, starting from the first to (m-1)-th discharge, are the outputs of the same name (m-1) elements OR group 9 1 , 9 2 , ..., 9 (m-1) ,

кроме того вторые входы первых (m-2) элементов ИЛИ группы 91, 92, …, 9(m-2), начиная с первого до (m-2)-го элементов, соединены с выходами соответствующих последующих (m-2) элементов ИЛИ группы 92, 93, …, 9(m-1), начиная со второго до (m-1)-го элементов,in addition, the second inputs of the first (m-2) elements of the OR group 9 1 , 9 2 , …, 9 (m-2) , starting from the first to the (m-2)-th elements, are connected to the outputs of the corresponding subsequent (m-2 ) OR elements of the group 9 2 , 9 3 , …, 9 (m-1) , starting from the second to the (m-1)-th element,

причем все m разрядов внутренней шины кода единичного позиционного ряда ВС соединены с соответствующими входами блока счета единиц 10, с группой информационных D-входов регистра маски RM 14 и с входами элемента ИЛИ-НЕ 12, прямой выход которого является внутренним флагом совпадения FE и соединен со вторым входом элемента И 11, а инверсный выход элемент ИЛИ-НЕ 12 соединен с входом S синхронной установки в единичное состояние регистра маски RM 14,moreover, all m bits of the internal bus code of a single positional row BC are connected to the corresponding inputs of the units counting block 10, to the group of information D-inputs of the mask register RM 14 and to the inputs of the OR-NOT element 12, the direct output of which is an internal match flag FE and is connected to the second input of the AND element 11, and the inverse output of the OR NOT element 12 is connected to the input S of the synchronous setting to the single state of the mask register RM 14,

кроме того выходы регистра маски RM 14 являются соответствующими одноименными разрядами внутренней m разрядной шины маски ВМ, которые соединены с первыми входами одноименных m элементов И группы 81, 82, …, 8m,in addition, the outputs of the mask register RM 14 are the corresponding bits of the same name of the internal m bit bus of the VM mask, which are connected to the first inputs of the same m elements And groups 8 1 , 8 2 , ..., 8 m ,

причем выходы блока счета единиц 10 являются соответствующими разрядами внутренней шины двоичного кода начала шаблона в группе ВВ, которая соединена со второй группой информационных D-входов выходного буфера ОВ 4, у которого первая группа информационных D-входов соединена с выходами счетчика CTG групп 3,moreover, the outputs of the units counting block 10 are the corresponding bits of the internal bus of the binary code of the beginning of the template in the group BB, which is connected to the second group of information D-inputs of the output buffer OB 4, in which the first group of information D-inputs is connected to the outputs of the counter CTG groups 3,

кроме того выходной буфер ОВ 4 также подключен к внешней шине ЕО управления обменом, а соответствующие выходы выходного буфера ОВ 4 являются группой внешних выходов данных QB и внешними флагами «Буфер заполнен» FF и «Буфер пуст» FZ.in addition, the output buffer OB 4 is also connected to the external exchange control bus EO, and the corresponding outputs of the output buffer OB 4 are a group of external data outputs QB and external flags "Buffer full" FF and "Buffer empty" FZ.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

На фиг. 1 представлена схема предлагаемого устройства. На фиг. 2 приведена схема поиска шаблонов. На фиг. 3 приведена временная диаграмма работы устройства.In FIG. 1 shows a diagram of the proposed device. In FIG. 2 shows the template search scheme. In FIG. 3 shows the timing diagram of the device.

На фиг. 1-3 и в тексте приняты следующие обозначения:In FIG. 1-3 and the following notation is used in the text:

ВВ - внутренняя шина v разрядного двоичного кода начала шаблона в группе,BB - internal bus v bit binary code of the beginning of the pattern in the group,

где v=]log2 m[(большее целое),where v=]log2 m[(greater integer),

ВС - внутренняя m разрядная шина кода единичного позиционного ряда,ВС - internal m-bit bus code of a single positional row,

BD - внутренняя 2m разрядная шина данных,BD - internal 2m bit data bus,

ВМ - внутренняя m разрядная шина маски,VM - internal m-bit mask bus,

BUF - буфер с дисциплиной обслуживания FIFO,BUF - buffer with FIFO service discipline,

С - тактовый вход,C - clock input,

СЕ - вход разрешения работы,CE - work enable input,

CLR - вход асинхронной установки в нулевое состояние,CLR - input of asynchronous setting to the zero state,

CTG - счетчик групп,CTG - group counter,

CTK - счетчик шаблонов,CTK - pattern counter,

D - информационные входы,D - information inputs,

FF - внешний флаг «Буфер заполнен»,FF - external flag "Buffer full",

FZ - внешний флаг «Буфер пуст»,FZ - external flag "Buffer is empty",

FE - внутренний флаг совпадения,FE - internal match flag,

G1, G2, …, GL - входные группы,G1, G2, …, GL - input groups,

ID - внешний m разрядный вход данных,ID - external m bit data input,

IG - внешний m разрядный вход заданного шаблона,IG - external m bit input of a given pattern,

L - количество входных групп L=N/m,L - number of input groups L=N/m,

m - разрядность входных данных,m - bit depth of input data,

N - размерность (длина) входной последовательности данных,N - dimension (length) of the input data sequence,

ОВ - выходной буфер,OB - output buffer,

QB - группа внешних выходов данных,QB - group of external data outputs,

QK - группа внешних выходов количества выявленных шаблонов,QK - a group of external outputs of the number of detected patterns,

R - вход синхронной установки в нулевое состояние,R - input of synchronous setting to zero state,

RG - регистр,RG - register,

RM - регистр маски,RM - mask register,

S - вход синхронной установки в единичное состояние,S - input of synchronous setting to a single state,

START - внешний вход пуска,START - external start input,

STOP - внешний вход останова,STOP - external stop input,

Т - триггер,T - trigger,

TR2 - триггер задержки,TR2 - delay trigger,

TSS - триггер пуска-останова,TSS - start-stop trigger,

1 - первый RS-триггер пуска-останова TSS,1 - the first RS-trigger start-stop TSS,

2 - второй D-триггер задержки TR2,2 - second D-trigger delay TR2,

3 - счетчик групп CTG,3 - CTG group counter,

4 - выходной буфер ОВ,4 - OB output buffer,

5 - первый регистр данных R1,5 - first data register R1,

6 - второй регистр данных R2,6 - second data register R2,

71, 72, …,7m - группа из m компараторов (COMP),7 1 , 7 2 , …,7 m - group of m comparators (COMP),

81, 82, …, 8m - группа из m элементов И (AND),8 1 , 8 2 , …, 8 m - group of m elements AND (AND),

91, 92, …, 9(m-1) - группа из (m-1) элементов ИЛИ (OR),9 1 , 9 2 , …, 9 (m-1) - a group of (m-1) elements OR (OR),

10 - блок счета единиц,10 - unit count block,

11 - элемент И (AND),11 - element AND (AND),

12 - элемент ИЛИ-НЕ (NOR),12 - element OR-NOT (NOR),

13 - счетчик шаблонов СТК,13 - STK template counter,

14 - регистр маски RM.14 - RM mask register.

Предлагаемое устройство содержит внешний содержит внешний m разрядный вход данных ID, внешний m разрядный вход заданного шаблона IG, группу внешних выходов данных QB, группу внешних выходов количества выявленных шаблонов QK, первый RS-триггер пуска-останова TSS 1, второй D-триггер TR2 задержки 2, счетчик CTG групп 3, выходной буфер ОВ 4, первый R1 регистр данных 5, второй R2 регистр данных 6, группу из m компараторов, 71, 72, …,7m, группу из m элементов И 81, 82, …, 8m, группу из (m-1) элементов ИЛИ 91, 92, …, 9(m-1), блок счета единиц 10, элемент И 11, элемент ИЛИ-НЕ 12, счетчик шаблонов СТК 13 и регистр маски RM 14.The proposed device contains an external contains an external m-bit data input ID, an external m-bit input of a given pattern IG, a group of external data outputs QB, a group of external outputs of the number of detected patterns QK, the first RS start-stop trigger TSS 1, the second delay D-trigger TR2 2, counter CTG groups 3, output buffer OB 4, first R1 data register 5, second R2 data register 6, group of m comparators, 7 1 , 7 2 , …,7 m , group of m elements AND 8 1 , 8 2 , …, 8 m , a group of (m-1) OR elements 9 1 , 9 2 , …, 9 (m-1) , unit count block 10, AND element 11, OR-NOT element 12, STK pattern counter 13 and mask register RM 14.

В предлагаемое устройство также введены внешние входы асинхронной установки в нулевое состояние CLR, пуска устройства START, остановки устройства STOP и тактовый вход С, внутренняя 2m-разрядная шина данных BD, внутренняя шина v разрядного двоичного кода начала шаблона в группе ВВ (где v=]log2 m[(большее целое)), внутренняя m разрядная шина кода единичного позиционного ряда ВС, внутренняя m разрядная шина маски ВМ, внутренний флаг совпадения FE, внешняя шина управления обменом ЕО, внешние флаг «Буфер заполнен» FF и флаг «Буфер пуст» FZ.The proposed device also includes external inputs for asynchronous setting to the zero state CLR, device start START, device stop STOP and clock input C, an internal 2m-bit data bus BD, an internal bus v of the bit binary code of the beginning of the template in the BB group (where v =] log2 m[(greater integer)), internal m-bit line code of the single position row BC, internal m-bit bus mask BM, internal match flag FE, external exchange control bus EO, external flag "Buffer full" FF and flag "Buffer empty" FZ.

Внешний вход асинхронной установки в нулевое состояние CLR соединен с соответствующими входами асинхронной установки в нулевое состояние CLR первого RS-триггера пуска-останова TSS 1 и второго D-триггера TR2 задержки.The external asynchronous zeroing input CLR is connected to the corresponding asynchronous zeroing inputs CLR of the first RS start-stop flip-flop TSS 1 and the second delay D-latch TR2.

Внешний тактовый вход устройства С соединен с входами синхронизации С первого RS-триггера пуска-останова TSS 1, второго D-триггера TR2 задержки 2, счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистра данных 5, второго R2 регистра данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14.The external clock input of device C is connected to the clock inputs C of the first RS start-stop flip-flop TSS 1, the second delay D-flip-flop TR2 2, the CTG group counter 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6, pattern counter STK 13 and mask register RM 14.

Внешний вход пуска устройства START соединен с входом S синхронной установки в единичное состояние первого RS-триггера пуска-останова TSS 1 и с входами R синхронной установки в нулевое состояние счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистр данных 5, второго R2 регистр данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14.The external start input of the START device is connected to the input S of the synchronous setting to a single state of the first RS start-stop trigger TSS 1 and to the inputs R of the synchronous setting to the zero state of the CTG counter of groups 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6, pattern counter STK 13 and mask register RM 14.

Внешний вход остановки устройства STOP соединен с входом R синхронной установки в нулевое состояние первого RS-триггера пуска-останова TSS 1.The external STOP input of the device is connected to the R input of the synchronous set to zero state of the first RS start-stop flip-flop TSS 1.

Первый RS-триггер пуска-останова TSS 1 предназначен для выделения цикла работы предлагаемого устройства, между сигналами START и STOP, для входной последовательности данных DI размерности N, содержащей L групп размерности т. Причем прямой выход первого RS-триггера пуска-останова TSS 1 соединен с D-входом второго триггера TR2 задержки 2, с входами СЕ разрешения работы первого R1 регистра данных 5, второго R2 регистра данных 6, регистра маски RM 14 и третьими входами первых (m-1) элементов И группы 81, 82, …, 8(m-1) The first RS-trigger start-stop TSS 1 is designed to highlight the cycle of operation of the proposed device, between the START and STOP signals, for the input data sequence DI of dimension N, containing L groups of dimension m. Moreover, the direct output of the first RS-trigger start-stop TSS 1 is connected with the D-input of the second trigger TR2 of delay 2, with the inputs CE of enabling the operation of the first R1 data register 5, the second R2 data register 6, the mask register RM 14 and the third inputs of the first (m-1) elements of the AND group 8 1 , 8 2 , ... .8 (m-1)

Выход второго D-триггера TR2 задержки соединен с входом СЕ разрешения работы счетчика CTG групп 3 и первым входом элемента И 11, выход которого соединен с входом СЕ разрешения записи в выходной буфер ОВ 4 и разрешения счета СЕ счетчика шаблонов СТК 13, выходы которого являются группой внешних выходов количества выявленных шаблонов QK.The output of the second D-flip-flop TR2 of the delay is connected to the input CE of enabling the operation of the CTG counter of groups 3 and the first input of the element AND 11, the output of which is connected to the input of the CE of the permission to write to the output buffer OB 4 and the permission of the account of the CE of the counter of the CTC templates 13, the outputs of which are a group external outputs the number of identified QK templates.

Счетчик CTG групп 3 предназначен для счета и хранения номера текущей группы входных данных. Второй D-триггер TR2 задержки 2 задерживает на один такт разрешение счета текущих групп в счетчике CTG групп 3 и записи в выходной буфер ОВ 4.Counter CTG groups 3 is designed to count and store the number of the current input data group. The second D-flip-flop TR2 of delay 2 delays by one cycle the resolution of the count of current groups in the CTG counter of groups 3 and writing to the output buffer OB 4.

Внешний m разрядный вход заданного шаблона IG соединен с первыми группами входов всех m компараторов группы 71, 72, …,7m, выходы которых соединены со вторыми входами соответствующих одноименных элементов И группы 81, 82, …, 8m.The external m bit input of the given template IG is connected to the first groups of inputs of all m comparators of the group 7 1 , 7 2 , …, 7 m , the outputs of which are connected to the second inputs of the corresponding elements of the same name AND of the group 8 1 , 8 2 , …, 8 m .

Внешний m разрядный вход данных ID соединен с группой информационных D-входов первого R1 регистра данных 5, выходы которого являются соответствующими разрядами, начиная с первого до m-го разряда, внутренней шины данных BD, а также соединены с группой информационных D-входов второго R2 регистра данных 6, выходы которого являются соответствующими разрядами, начиная с (m+1)-го до 2m-го разряда, внутренней шины данных BD.The external m-bit data input ID is connected to the group of information D-inputs of the first R1 data register 5, the outputs of which are the corresponding bits, starting from the first to the m-th bit, of the internal data bus BD, and is also connected to the group of information D-inputs of the second R2 data register 6, the outputs of which are the corresponding bits, starting from the (m+1)th to the 2mth bit, of the internal data bus BD.

Разряды внутренней шины данных BD группами по m разрядов, каждая из которых начинается с (i+1)-го разряда (i=1, …, m), соединены со вторыми группами входов соответствующих i-ых компараторов группы 71, 72, …,7m.The bits of the internal data bus BD in groups of m bits, each of which starts with the (i+1)-th bit (i=1, ..., m), are connected to the second groups of inputs of the corresponding i-th comparators of the group 7 1 , 7 2 , …,7 m .

Выходы первых (m-1) элементов И группы 81, 82, …, 8(m-1) соединены с первыми входами одноименных элементов ИЛИ группы 91, 92, …, 9(m-1), а выход последнего m-го элемента И 8m соединен со вторым входом последнего элемента 9(m-1), а также является m-м разрядом внутренней шины кода единичного позиционного ряда ВС, у которой разрядами, начиная с первого до (m-1)-го разряда, являются выходы одноименных (m-1) элементов ИЛИ группы 91, 92, …, 9(m-1).The outputs of the first (m-1) elements AND of the group 8 1 , 8 2 , …, 8 (m-1) are connected to the first inputs of the elements of the same name OR of the group 9 1 , 9 2 , …, 9 (m-1) , and the output of the last m-th element AND 8 m is connected to the second input of the last element 9 (m-1) , and is also the m-th bit of the internal bus code of the unit positional row VS, in which the bits, starting from the first to (m-1)-th discharge, are the outputs of the same (m-1) elements of the OR group 9 1 , 9 2 , ..., 9 (m-1 ).

Кроме того вторые входы первых (v-2) элементов ИЛИ группы 91, 92, …, 9(m-2), начиная с первого до (m-2)-го элементов, соединены с выходами соответствующих последующих (m-2) элементов ИЛИ группы 92, 93, …, 9(m-1), начиная со второго до (m-1)-го элементов.In addition, the second inputs of the first (v-2) elements of the OR group 9 1 , 9 2 , ..., 9 (m-2) , starting from the first to the (m-2)-th elements, are connected to the outputs of the corresponding subsequent (m-2 ) elements of the OR group 9 2 , 9 3 , …, 9 (m-1) , starting from the second to the (m-1)-th element.

Причем все m разрядов внутренней шины кода единичного позиционного ряда ВС соединены с соответствующими входами блока счета единиц 10, с группой информационных D-входов регистра маски RM 14 и с входами элемента ИЛИ-НЕ 12, прямой выход которого является внутренним флагом совпадения FE и соединен со вторым входом элемента И 11. Инверсный выход элемент ИЛИ-НЕ 12 соединен с входом S синхронной установки в единичное состояние регистра маски RM 14.Moreover, all m bits of the internal bus code of a single positional row BC are connected to the corresponding inputs of the units counting block 10, to the group of information D-inputs of the mask register RM 14 and to the inputs of the OR-NOT element 12, the direct output of which is an internal match flag FE and is connected to the second input of the AND element 11. The inverse output of the OR NOT element 12 is connected to the input S of the synchronous setting to the single state of the mask register RM 14.

Кроме того выходы регистра маски RM 14 являются соответствующими одноименными разрядами внутренней m разрядной шины маски ВМ, которые соединены с первыми входами одноименных m элементов И группы 81, 82, …, 8m.In addition, the outputs of the mask register RM 14 are the corresponding same-name bits of the internal m-bit bus of the VM mask, which are connected to the first inputs of the same-name m elements And groups 8 1 , 8 2 , ..., 8 m .

Выходы блока счета единиц 10 являются соответствующими разрядами внутренней шины двоичного кода начала шаблона в группе ВВ, которая соединена со второй группой информационных D-входов выходного буфера ОВ 4, у которого первая группа информационных D-входов соединена с выходами счетчика CTG групп 3.The outputs of the units counting block 10 are the corresponding bits of the internal bus of the binary code of the beginning of the template in the group BB, which is connected to the second group of information D-inputs of the output buffer OB 4, in which the first group of information D-inputs is connected to the outputs of the counter CTG groups 3.

Выходной буфер ОВ 4 предназначен для накопления номеров входных групп и кода расположения разрядов начала выявленных групп соответствующих коду шаблона IG. Выходной буфер ОВ 4 также подключен к внешней шине ЕО управления обменом, а соответствующие выходы выходного буфера ОВ 4 являются группой внешних выходов данных QB и внешними флагами «Буфер заполнен» FF и «Буфер пуст» FZ.The output buffer OB 4 is designed to accumulate the numbers of input groups and the location code of the bits of the beginning of the identified groups corresponding to the template code IG. The output buffer OB 4 is also connected to the external bus exchange control EO, and the corresponding outputs of the output buffer OB 4 are a group of external data outputs QB and external flags "Buffer full" FF and "Buffer empty" FZ.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Принцип работы предлагаемого устройства состоит в следующем. The principle of operation of the proposed device is as follows.

Предлагаемое устройство позволяет детектировать m-разрядные группы во входном N-разрядном двоичном числе, соответствующие m-разрядному заданному шаблону групп IG, который содержит заданную последовательность единичных и нулевых бит, формировать и записывать в выходной буфер ОВ 4 номера входных групп и двоичный код разряда начала выявленных групп соответствующих коду шаблона. При этом разряды выявленных соседних входных групп, совпадающих с заданным шаблоном IG, не могут перекрываться.The proposed device allows you to detect m-bit groups in the input N-bit binary number corresponding to the m-bit given pattern of groups IG, which contains a given sequence of one and zero bits, to form and write to the output buffer OB 4 the numbers of the input groups and the binary code of the bit of the beginning identified groups corresponding to the template code. In this case, the digits of the identified adjacent input groups that match the given template IG cannot overlap.

Входное N разрядное двоичное число без знака разбивается на L=N/m групп по m разрядов в каждой группе. Группы входных данных G1, G2, …, GL последовательно поступают на входы устройства. При этом m двоичных разрядов каждой из L групп параллельно поступают на соответствующие входы данных ID. В течение работы устройства на внешних входах шаблона IG должна быть установлена заданная m-разрядная последовательность единичных и нулевых бит.The input N bit unsigned binary number is divided into L=N/m groups of m bits in each group. Groups of input data G1, G2, ..., GL sequentially arrive at the inputs of the device. In this case, m binary digits of each of the L groups are fed in parallel to the corresponding data inputs ID. During operation of the device, the specified m-bit sequence of one and zero bits must be set at the external inputs of the IG template.

Работа устройства начинается по единичному сигналу START=1 и завершается по единичному сигналу остановки STOP=l, который поступает на следующем такте после кода последней L-ой группы. Группы входных данных поступают в каждом такте.The operation of the device starts with a single signal START=1 and ends with a single stop signal STOP=l, which arrives on the next cycle after the code of the last L-th group. Groups of input data come in every clock cycle.

Поиск (выявление, детектирование, анализ) осуществляется для каждых двух последовательных входных групп общей разрядностью 2 т. При этом каждая входная группа G1, G2, …, GL сначала поступает на первый R1 регистр данных 5, а затем на следующем такте переписывается во второй R2 регистр данных 6 с одновременной загрузкой следующей соседней группы в первый R1 регистр данных 5. Второй TR2 триггер 2 осуществляет задержку начала анализа на один такт для загрузки второй группы и удержание на один такт для возможности записи результата в выходной буфер ОВ 4 после сигнала остановки STOP=1.Search (identification, detection, analysis) is carried out for each two consecutive input groups with a total capacity of 2 tons. In this case, each input group G1, G2, ..., GL first enters the first R1 data register 5, and then on the next cycle is overwritten in the second R2 data register 6 with simultaneous loading of the next adjacent group into the first R1 data register 5. The second TR2 flip-flop 2 delays the start of the analysis by one clock cycle to load the second group and hold by one cycle to be able to write the result to the output buffer OB 4 after the stop signal STOP= 1.

На каждом такте для двух соседних групп осуществляется поиск заданного шаблона групп IG на m компараторах из группы 71, 72, …,7m, на первые группы входов которых поступает m-разрядный код заданного шаблона IG, а на вторые группы входов которых поступают сдвинутые на один разряд соответствующие m-разрядные коды с внутренней 2m-разрядной шины данных BD, разрядами которой являются выходы первого R1 регистра данных 5 и второго R2 регистра данных 6. Одновременно осуществляется счет входных групп G1, G2, …, GL на счетчике CTG групп 3.At each cycle for two adjacent groups, a search for a given pattern of IG groups is performed on m comparators from the group 7 1 , 7 2 , …, 7 m , the first groups of inputs of which receive the m-bit code of the given pattern IG, and the second groups of inputs the corresponding m-bit codes shifted by one digit from the internal 2m-bit data bus BD, the digits of which are the outputs of the first R1 data register 5 and the second R2 data register 6. Simultaneously, the input groups G1, G2, ..., GL are counted on the counter CTG groups 3.

На выходах группы компараторов 71, 72, …,7m формируются единичные значения при совпадении соответствующих m-разрядных групп с внутренней 2m-разрядной шины данных BD с кодом заданного шаблона групп IG и формируется m-разрядный код расположения разрядов начала выявленных шаблонов (перекрывающихся и неперекрывающихся) в текущей входной группе, номер которой устанавливается в счетчике CTG групп 3.At the outputs of the group of comparators 7 1 , 7 2 , …, 7 m, single values are formed when the corresponding m-bit groups from the internal 2m-bit data bus BD coincide with the code of the specified group pattern IG and an m-bit code for the location of the bits of the beginning of the detected patterns is formed ( overlapping and non-overlapping) in the current input group, the number of which is set in the CTG counter of groups 3.

Далее, на основании нулевых значений разрядов шины маски ВМ с выходов регистра маски RM 14, в группе элементов И 81, 82, …, 8m осуществляется исключение выявленных перекрывающихся шаблонов. Далее в группе элементов ИЛИ 91, 92, …, 9(m-1) единичное значение, соответствующее выявленным группам, от старшего разряда передается последовательно в сторону младших разрядов по цепочке элементов ИЛИ и единичные значения устанавливаются на соответствующих выходах элементов ИЛИ группы 91, 92, …, 9(m-1), которые далее поступают на внутреннюю шину ВС. Таким образом, на внутренней шине ВС устанавливается упорядоченная последовательность единичных значений (унитарный позиционный ряд 00…011..1), начиная с первого разряда, сумма единиц которой соответствует номеру старшего (левого) выявленного шаблона.Further, based on the zero values of the bits of the VM mask bus from the outputs of the mask register RM 14, in the group of elements AND 8 1 , 8 2 , ..., 8 m , the identified overlapping patterns are excluded. Further, in the group of OR elements 9 1 , 9 2 , ..., 9 (m-1 ) a single value corresponding to the identified groups is transmitted sequentially from the highest digit towards the lower digits along the chain of OR elements and single values are set at the corresponding outputs of the OR elements of group 9 1 , 9 2 , …, 9 (m-1 ), which then go to the internal bus of the aircraft. Thus, an ordered sequence of single values (unitary positional series 00…011..1) is established on the internal bus of the aircraft, starting from the first digit, the sum of units of which corresponds to the number of the highest (left) detected template.

Далее значения с внутренней шины ВС кода единичного позиционного ряда поступают на входы блока счета единиц 10, элемент ИЛИ-НЕ 12 и регистр маски RM 14. В блоке счета единиц 10 единичный позиционный ряд преобразуется в двоичный код разряда начала старшего (левого) выявленного шаблона в группе, которое далее передается на вторую группу информационных D-входов, одновременно с номером входной группы со счетчика CTG 3, которые передаются на первую группу информационных D-входов выходного буфера ОВ 4.Further, the values from the internal bus BC of the code of a single positional series are fed to the inputs of the unit counting block 10, the OR NOT element 12 and the mask register RM 14. group, which is then transmitted to the second group of information D-inputs, simultaneously with the number of the input group from the counter CTG 3, which are transmitted to the first group of information D-inputs of the output buffer OB 4.

При наличии хотя бы одного единичного значения в разрядах на внутренней шине ВС на прямом выходе элемента ИЛИ-НЕ 12 формируется единичное значение флага совпадений FE=1, которое передается на элемент И 11 и по которому далее разрешается запись в выходной буфер ОВ 4 и счет выявленных шаблонов в счетчике СТК 14.If there is at least one single value in the bits on the internal bus BC, at the direct output of the OR-NOT element 12, a single value of the match flag FE=1 is formed, which is transmitted to the AND element 11 and which is then allowed to write to the output buffer OB 4 and count the identified templates in the STK 14 counter.

Одновременно значения с внутренней шины ВС кода единичного позиционного ряда записываются в регистр маски RM 14 и далее передаются на внутреннюю шину маски ВМ. При этом нулевые значения разрядов исключают выявленные перекрывающиеся шаблоны в группе элементов И 81, 82, …, 8m.At the same time, the values from the internal bus BC of the code of a single positional row are written to the mask register RM 14 and then transferred to the internal mask bus VM. In this case, the zero values of the digits exclude the identified overlapping patterns in the group of elements AND 8 1 , 8 2 , …, 8 m .

Кроме того, при отсутствии единичных значений на внутренней шине ВС формируется единичное значение на инверсном выходе элемента ИЛИ-НЕ 12, которое передается на вход S синхронной установки регистра маски RM 14, по которому все разряды регистра маски RM 14 устанавливаются в единичное состояние, по которым на следующем такте разрешается передача единичных значений всех выходов группы из m компараторов 71, 72, …,7m в группе элементов И 81, 82, …, 8m In addition, in the absence of single values on the internal bus BC, a single value is formed at the inverse output of the OR-NOT element 12, which is transmitted to the input S of the synchronous setting of the mask register RM 14, according to which all bits of the mask register RM 14 are set to a single state, according to which on the next cycle, it is allowed to transfer single values of all outputs of the group of m comparators 7 1 , 7 2 , …, 7 m in the group of elements AND 8 1 , 8 2 , …, 8 m

Кроме того в группе из (m-1)-го элементов И 82, 83, …, 8m осуществляется запрет передачи результатов сравнения с (m-1) компараторов 72, 73, …,7m, кроме первого компаратора 71, на последнем такте работы после сигнала STOP. Элемент И 11 разрешает передачу значения флага совпадений FE на вход СЕ разрешения записи в выходной буфер ОВ 4 и счет шаблонов в счетчике СТК 14.In addition, in the group of (m-1)-th elements AND 8 2 , 8 3 , …, 8 m , the transfer of comparison results from (m-1) comparators 7 2 , 7 3 , …, 7 m is prohibited, except for the first comparator 7 1 , on the last cycle of operation after the STOP signal. Element AND 11 allows the transfer of the value of the match flag FE to the input CE of the write permission to the output buffer OB 4 and the template count in the counter STK 14.

Предлагаемое устройство работает следующим образом.The proposed device works as follows.

При подаче сигнала на вход CLR асинхронной установки в нулевое состояние устанавливается первый RS-триггер пуска-останова TSS=0 и второй D-триггер задержки TR2=0.When a signal is applied to the CLR input of the asynchronous setting to zero, the first RS start-stop flip-flop TSS=0 and the second delay D-flip-flop TR2=0 are set.

Тактовые сигналы с входа С постоянно поступают на входы синхронизации С первого RS-триггера пуска-останова TSS 1, второго D-триггера TR2 задержки 2, счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистра данных 5, второго R2 регистра данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14, режимы работы которых задаются сигналами на соответствующих входах управления, а исполняются по фронтам тактовых сигналов С.The clock signals from input C are constantly supplied to the synchronization inputs C of the first RS start-stop flip-flop TSS 1, the second D-flip-flop TR2 of delay 2, the CTG group counter 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6 , the STK 13 template counter and the RM 14 mask register, the modes of operation of which are set by the signals at the corresponding control inputs, and are executed on the edges of the clock signals C.

На фиг. 2 приведена схема поиска заданного m=4 разрядного шаблона IG=1011 в N=32 разрядном двоичном числе, содержащем L=8 четырехразрядных групп G1, G2, …, G8. На фиг. 2 в результате детектирования выявлены восемь шаблонов, из которых в предлагаемом устройстве два исключены как перекрывающиеся (группы G1-G2 и G5-G6, G6-G7). При этом девятая группа G9 устройством не анализируется, так как она поступает одновременно с сигналом STOP. На фиг. 3 приведена временная диаграмма работы предлагаемого устройства для входных данных, приведенных на фиг. 2.In FIG. 2 shows a search scheme for a given m=4 bit pattern IG=1011 in N=32 bit binary number containing L=8 four-bit groups G1, G2, ..., G8. In FIG. 2 as a result of detection, eight templates were identified, of which two were excluded in the proposed device as overlapping (groups G1-G2 and G5-G6, G6-G7). In this case, the ninth group G9 is not analyzed by the device, since it arrives simultaneously with the STOP signal. In FIG. 3 shows a timing diagram of the operation of the proposed device for the input data shown in FIG. 2.

Устройство начинает работать после подачи единичного сигнала START=1 (такт 1 на фиг. 3). При этом синхронно по фронту следующего тактового сигнала С (такт 2) в единичное состояние устанавливается первый RS-триггер 1 пуска-останова TSS=1 и в нулевое состояние устанавливаются счетчик CTG групп 3, первый R1 регистр данных 5, второй R2 регистр данных 6, счетчик шаблонов СТК 13 и регистра маски RM 14 и устанавливается начальный нулевой адрес в выходном буфере ОВ 4.The device starts working after a single signal START=1 (step 1 in Fig. 3). In this case, synchronously on the edge of the next clock signal C (cycle 2), the first RS-trigger 1 start-stop TSS=1 is set to a single state and the CTG counter of groups 3, the first R1 data register 5, the second R2 data register 6, are set to the zero state, counter templates STK 13 and mask register RM 14 and set the initial zero address in the output buffer OB 4.

Единичное значение с выхода первого RS-триггера 1 пуска-останова TSS=1 поступает на информационный D-вход второго триггера задержки TR2 и разрешает на следующих тактах осуществлять прием групп входных данных в первый R1 регистр данных 5 с внешнего входа данных ID и запись данных с первого R1 регистра данных 5 во второй R2 регистр данных. При этом на фиг. 2 и фиг. 3 старшие разряды в группах ID, в шаблоне IG, в первом R1 и втором R2 регистрах, на компараторах СОМР и внутренних шинах показаны слева.A single value from the output of the first RS-trigger 1 start-stop TSS=1 is fed to the information D-input of the second delay trigger TR2 and allows, on the next cycles, to receive groups of input data in the first R1 data register 5 from the external data input ID and write data from the first R1 data register 5 to the second R2 data register. Meanwhile, in FIG. 2 and FIG. The 3 MSBs in the ID groups, in the IG pattern, in the first R1 and second R2 registers, on the COMP comparators and internal buses are shown on the left.

В такте 2 на входе шаблона IG устанавливается код 1011, который далее удерживается во время работы устройства, и на вход данных ID также поступает код 1011 первой группы G1, который записывается в такте 3 в первый R1 регистр данных 5. Одновременно в такте 3 в единичное состояние переключается второй триггер задержки TR2, который разрешает на следующих тактах работать в счетном режиме счетчику CTG групп 3, на котором устанавливается код номера входной текущей группы, и разрешает передачу значения флага совпадений FE через элемент И 11 на вход СЕ разрешения записи в выходной буфер ОВ 4. Одновременно в такте 2 нулевые значения устанавливаются на выходах всех компараторов из группы 71, 72, …,7m, по которым далее формируются нулевые значения на внутренних шинах ВС, ВМ и ВВ, а также нулевое значение флага совпадения FE=0.In cycle 2, the code 1011 is set at the input of the IG template, which is then held during device operation, and the code 1011 of the first group G1 also enters the data input ID, which is written in cycle 3 to the first R1 data register 5. Simultaneously, in cycle 3, to single the state is switched by the second delay trigger TR2, which allows the counter CTG of groups 3 to work in the counting mode on the following cycles, on which the code of the number of the input current group is set, and allows the transfer of the value of the match flag FE through the AND element 11 to the input CE of the write permission to the output buffer OB 4. At the same time, in cycle 2, zero values are set at the outputs of all comparators from the group 7 1 , 7 2 , …, 7 m , by which zero values are further formed on the internal buses BC, VM and BB, as well as the zero value of the coincidence flag FE=0 .

В такте 3 увеличивается на единицу значение в счетчике 3 групп CTG=1. Кроме того в такте 3, так как установлено нулевое значение флага совпадения FE=0, в единичное состояние устанавливаются все разряды регистра маски RM 14, которые далее передаются на внутреннюю шину маски ВМ=1111 и разрешают работу группы элементов И 82, 83, …, 8m.In cycle 3, the value in counter 3 of groups CTG=1 is incremented. In addition, in cycle 3, since the match flag FE=0 is set to zero, all bits of the mask register RM 14 are set to a single state, which are then transferred to the internal mask bus VM=1111 and enable the operation of the group of elements AND 8 2 , 8 3 , …, 8m .

Одновременно в такте 3 на вход данных ID поступает код 0110 второй группы G2, который записывается в такте 4 в первый R1 регистр данных 5, и одновременно код 1011 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6. При этом на внутренней 2m-разрядной шине данных BD устанавливается 8-разрядный код 1011 0110.At the same time, in cycle 3, code 0110 of the second group G2 enters the ID data input, which is written in cycle 4 to the first R1 data register 5, and at the same time, code 1011 from the outputs of the first R1 data register 5 is written to the second R2 data register 6. At the same time, on the internal The 2m-bit data bus BD is set to 8-bit code 1011 0110.

Далее группами по m разрядов, начиная с левого старшего разряда и сдвигом начала групп на один разряд в сторону младших разрядов, коды поступают на вторые группы входов соответствующих компараторов 71, 72, …,7m, а на первые группы входов которых поступает m-разрядный код заданной шаблона IG=1011. При этом единичные значения формируются на выходах двух компараторов 71, 74 и устанавливается код СОМР=1001, что означает совпадение с шаблоном в двух группах (см. фиг. 2 и фиг. 3), начинающихся с старшего четвертого и младшего первого разрядов первой входной группы G1. Далее этот код 1001, при единичном значении первого RS-триггера 1 пуска-останова TSS=1 и единичных значениях на шине маски ВМ=1111, через группу элементов И 81, 82, …, 8m передается на группу элементов ИЛИ 91, 92, …, 9(m-1) и далее на внутренней шине ВС устанавливается упорядоченный единичный позиционный ряд ВС=1111, так как единичное значение с левого старшего разряда последовательно передается по цепочке группы элементов ИЛИ 91, 92, …, 9(m-1). Далее в блоке счета единиц 10 единичный позиционный ряд ВС=1111 преобразуется в двоичный код ВВ=4, соответствующий левому старшему разряду выявленного шаблона. При этом исключается выявленный перекрывающийся шаблон с началом с первого разряда.Then, in groups of m digits, starting from the left most significant digit and shifting the beginning of the groups by one digit towards the least significant digits, the codes enter the second groups of inputs of the corresponding comparators 7 1 , 7 2 , …, 7 m , and the first groups of inputs of which receive m -bit code of the given template IG=1011. In this case, single values are formed at the outputs of two comparators 7 1 , 7 4 and the code COMP=1001 is set, which means a match with the template in two groups (see Fig. 2 and Fig. 3), starting from the senior fourth and junior first digits of the first input group G1. Further, this code 1001, with a single value of the first RS-trigger 1 start-stop TSS=1 and single values on the mask bus BM=1111, is transmitted through a group of elements AND 8 1 , 8 2 , ..., 8 m to a group of elements OR 9 1 , 9 2 , …, 9 (m-1) and further on the internal bus VS the ordered single positional row ВС=1111 is set, since the single value from the left most significant bit is sequentially transmitted along the chain of the group of elements OR 9 1 , 9 2 , …, 9 (m-1) . Next, in the unit count unit 10, the unit positional series BC=1111 is converted into a binary code BB=4 corresponding to the left most significant digit of the identified template. In this case, the identified overlapping pattern with the beginning from the first digit is excluded.

Одновременно формируется единичное значение флага совпадений FE=1. Далее единичное значение устанавливается на выходе элемента И 11, так как установлен в единичное состояние второй D-триггер задержки TR2=1, и далее разрешается запись в выходной буфер ОВ 4, в который в такте 5 по нулевому адресу записывается код ОВ(0)=1_4, соответствующий номеру первой группы G1 со счетчика групп 3 CTG=1 и коду четвертого разряда расположения начала старшего (левого) выявленного шаблона в текущей первой группе G1, который поступает с внутренней шины ВВ=4. Также в такте 5 проводится счет выявленных шаблонов на счетчике 14 СТК=1.At the same time, a single value of the match flag FE=1 is generated. Further, a single value is set at the output of the element AND 11, since the second delay D-flip-flop TR2=1 is set to a single state, and then writing to the output buffer OB 4 is allowed, into which the code OB (0) = is written in cycle 5 at the zero address 1_4 corresponding to the number of the first group G1 from the group counter 3 CTG=1 and the code of the fourth digit of the location of the beginning of the senior (left) detected pattern in the current first group G1, which comes from the internal bus BB=4. Also in step 5 is the account of the identified patterns on the counter 14 STK=1.

Кроме того так как все разряды выявленного шаблона расположены в первой группе G1, то на следующем такте разрешается проверка сравнений начиная с четвертого разряда. Поэтому в регистре маски RM 14 опять устанавливается разрешение для всех разрядов ВМ=1111.In addition, since all bits of the identified template are located in the first group G1, then on the next cycle, comparisons are allowed to be checked starting from the fourth bit. Therefore, in the mask register RM 14, permission is again set for all bits BM=1111.

При этом одновременно в такте 4 на вход данных ID поступает код 1100 третьей группы G3, который записывается в такте 5 в первый R1 регистр данных 5, и одновременно код 0110 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6. Одновременно в такте 5 увеличивается на единицу значение в счетчике 3 групп CTG=2. Поэтому на внутренней 2m-разрядной шине данных BD устанавливается код 0110 1100. При этом совпадение с шаблоном IG=1011 будет выявлено только в одной группе на втором компараторе lz и устанавливается код СОМР=0010. Поэтому далее при единичном значении первого RS-триггера 1 пуска-останова TSS=1 и единичных значениях на шине маски ВМ=1111, через группу элементов И 81, 82, …, 8m, группу элементов ИЛИ 91, 92, …, 9(m-1) и далее на внутренней шине ВС устанавливается упорядоченный единичный позиционный ряд ВС=0011. Далее в блоке счета единиц 10 единичный позиционный ряд ВС=0011 преобразуется в двоичный код ВВ=2, соответствующий второму разряду выявленного шаблона.At the same time, in cycle 4, code 1100 of the third group G3 enters the ID data input, which is written in cycle 5 to the first R1 data register 5, and at the same time, code 0110 from the outputs of the first R1 data register 5 is written to the second R2 data register 6. Simultaneously, in cycle 5 increments the value in group counter 3 CTG=2. Therefore, the code 0110 1100 is set on the internal 2m-bit data bus BD. In this case, a match with the pattern IG=1011 will be detected only in one group on the second comparator lz and the code COMP=0010 is set. Therefore, further with a single value of the first RS-trigger 1 start-stop TSS=1 and single values on the mask bus BM=1111, through a group of elements AND 8 1 , 8 2 , …, 8 m , a group of elements OR 9 1 , 9 2 , ..., 9 (m-1) and further on the internal bus BC the ordered single position row BC=0011 is set. Next, in the unit counting unit 10, the unit positional series BC=0011 is converted into a binary code BB=2 corresponding to the second digit of the identified pattern.

Далее при единичном значении флага совпадений FE=1 в такте 6 в выходной буфер ОВ 4 по первому адресу записывается код ОВ(1)=2_2, соответствующий входной второй группе G2 CTG=2 и второму разряду начала группы, соответствующей заданному шаблону IG=1011, который поступает с внутренней шины ВВ=2. Также в такте 6 проводится счет выявленных шаблонов на счетчике 14 СТК=2.Further, with a single value of the match flag FE=1 in cycle 6, the code OB(1)=2_2 is written to the output buffer OB 4 at the first address, corresponding to the input second group G2 CTG=2 and the second bit of the beginning of the group corresponding to the given template IG=1011, which comes from the internal bus BB=2. Also in step 6 is the account of the identified patterns on the counter 14 STK=2.

Кроме того так как два разряда выявленного шаблона расположены во второй группе G2, а два разряда в третьей группе G3, то на следующем такте разрешается проверка сравнений начиная со второго разряда. Поэтому в регистре маски RM 14 устанавливается разрешение для двух разрядов ВМ=0011.In addition, since two digits of the detected template are located in the second group G2, and two digits in the third group G3, then on the next cycle, comparisons are allowed to be checked starting from the second digit. Therefore, in the mask register RM 14, permission is set for two bits BM=0011.

Одновременно в такте 5 на вход данных ID поступает код 1101 четвертой группы G4, который записывается в такте 6 в первый R1 регистр данных 5, и одновременно код 1100 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6, а также увеличивается на единицу значение в счетчике 3 групп CTG=3. Поэтому далее на внутренней 2m-разрядной шине данных BD устанавливается код 1100 1101. При этом на выходах всех компараторов 71, 72, …,7m устанавливаются нулевые значения, код СОМР=0000, так как не обнаружено совпадений с шаблоном IG=1011. Поэтому формируется также нулевое значение флага совпадений FE=0 и в такте 7 отсутствует запись в выходной буфер ОВ 4.At the same time, in cycle 5, code 1101 of the fourth group G4 enters the data input ID, which is written in cycle 6 to the first R1 data register 5, and at the same time code 1100 from the outputs of the first R1 data register 5 is written to the second R2 data register 6, and also increases by unit value in counter 3 groups CTG=3. Therefore, further, code 1100 1101 is set on the internal 2m-bit data bus BD. At the same time, zero values are set at the outputs of all comparators 7 1 , 7 2 , …, 7 m , code COMP=0000, since no match was found with the template IG=1011 . Therefore, a zero value of the match flag FE=0 is also formed, and in cycle 7 there is no entry in the output buffer OB 4.

Одновременно в такте 7 по нулевому значению флага совпадения FE=0 в единичное состояние устанавливаются все разряды регистра маски RM 14, которые далее передаются на внутреннюю шину маски ВМ=1111 и разрешают работу группы элементов И 81, 82, …, 8m.At the same time, in cycle 7, by the zero value of the match flag FE=0, all bits of the mask register RM 14 are set to a single state, which are then transferred to the internal bus of the mask VM=1111 and allow the operation of the group of elements AND 8 1 , 8 2 , …, 8 m .

В такте 6 на вход данных ID поступает код 1101 пятой группы G5, который записывается в такте 7 в первый R1 регистр данных 5, и одновременно код 1101 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6, а также увеличивается на единицу значение в счетчике 3 групп CTG=4 и далее на внутренней 2m-разрядной шине данных BD устанавливается код 1101 1101. При этом в группе компараторов 71, 72, …,7m совпадение с шаблоном IG=1011 будет выявлено только в одной группе на третьем компараторе 73 и устанавливается код СОМР=0100, по которому на внутренней шине ВС устанавливается упорядоченный единичный позиционный ряд ВС=0111. Далее в блоке счета единиц 10 единичный позиционный ряд ВС=0111 преобразуется в двоичный код ВВ=3, соответствующий третьему разряду выявленного шаблона.In cycle 6, code 1101 of the fifth group G5 enters the data input ID, which is written in cycle 7 to the first R1 data register 5, and at the same time the code 1101 from the outputs of the first R1 data register 5 is written to the second R2 data register 6, and also increases by one the value in the counter 3 of groups CTG=4 and then on the internal 2m-bit data bus BD the code 1101 1101 is set. In this case, in the group of comparators 7 1 , 7 2 , …, 7 m , a match with the template IG=1011 will be detected only in one group on the third comparator 7 3 and the code COMP=0100 is set, according to which the ordered single position row BC=0111 is set on the internal bus BC. Next, in the unit counting unit 10, the unit positional series BC=0111 is converted into a binary code BB=3 corresponding to the third digit of the identified template.

Далее при единичном значении флага совпадений FE=1 в такте 8 в выходной буфер ОВ 4 по второму адресу записывается код ОВ(2)=4_3, соответствующий входной четвертой группе G4 CTG=4 и третьему разряду начала группы, соответствующей заданному шаблону IG=1011, который поступает в внутренней шины ВВ=3. Также в такте 8 проводится счет выявленных шаблонов на счетчике 14 СТК=3.Further, with a single value of the match flag FE=1 in cycle 8, the code OB(2)=4_3 is written to the output buffer OB 4 at the second address, corresponding to the input fourth group G4 CTG=4 and the third digit of the beginning of the group corresponding to the given template IG=1011, which enters the internal bus BB=3. Also in step 8 is the account of the identified patterns on the counter 14 STK=3.

Далее в тактах 9 и 10 аналогично рассмотренному алгоритму при единичных значениях флага совпадений FE=1 осуществляется запись для выявленных входных пятой G5 и шестой G6 группах соответствующих кодов по третьему ОВ(3)=5_3 и четвертому ОВ(4)=6_1 адресам в выходной буфер ОВ 4.Further, in cycles 9 and 10, similarly to the considered algorithm, with single values of the coincidence flag FE=1, the recording is performed for the identified input fifth G5 and sixth G6 groups of the corresponding codes at the third OB(3)=5_3 and fourth OB(4)=6_1 addresses to the output buffer OB 4.

Одновременно в такте 9 на вход данных ID поступает код 1011 восьмой группы G8, который записывается в такте 10 в первый R1 регистр данных 5, и одновременно код 0110 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6, а также увеличивается на единицу значение в счетчике 3 групп CTG=7. Далее на внутренней 2m-разрядной шине данных BD устанавливается код 0110 1011. При этом на выходах всех компараторов 71, 72, …,7m устанавливаются нулевые значения, код СОМР=0000, так как не обнаружено совпадений с шаблоном IG=1011. Поэтому формируется также нулевое значение флага совпадений FE=0 и в такте 11 отсутствует запись в выходной буфер ОВ 4. Одновременно в такте 11 в единичное состояние устанавливаются все разряды регистра маски RM 14, которые далее передаются на внутреннюю шину маски ВМ=1111 и разрешают работу группы элементов И 81, 82, …, 8m.At the same time, in cycle 9, code 1011 of the eighth group G8 enters the ID data input, which is written in cycle 10 to the first R1 data register 5, and at the same time code 0110 from the outputs of the first R1 data register 5 is written to the second R2 data register 6, and also increases by unit value in counter 3 groups CTG=7. Further, code 0110 1011 is set on the internal 2m-bit data bus BD. At the same time, zero values are set at the outputs of all comparators 7 1 , 7 2 , …, 7 m , code COMP=0000, since no matches with the pattern IG=1011 were found. Therefore, a zero value of the match flag FE=0 is also formed and in cycle 11 there is no entry in the output buffer OB 4. At the same time, in cycle 11, all bits of the mask register RM 14 are set to a single state, which are then transferred to the internal mask bus VM=1111 and allow operation groups of elements AND 8 1 , 8 2 , …, 8 m .

Одновременно в такте 10 поступает единичный сигнал STOP=1, по которому по фронту тактового сигнала С в такте 11 в нулевое состояние устанавливается первый RS-триггер 1 пуска-останова TSS=0. При этом код 0110 с входа данных ID для девятой группы G9 записывается в такте 11 в первый R1 регистр данных 5, и одновременно код 1011 для восьмой группы G8 с выходов первого R1 регистра данных 5 записывается во второй R2 регистр данных 6, а также увеличивается на единицу значение в счетчике 3 групп CTG=8. При этом в группе компараторов 71, 72, …,7m совпадение с шаблоном IG=1011 будет выявлено в двух группах на первом и четвертом компараторах 71 и 74 и на выходах компараторов формируется код СОМР=1001. Но так как в такте 11 нулевое состояние установлено в первом RS-триггер 1 пуска-останова TSS=0, то запрещается передача значений в первых (m-1) элементах группы И 81, 82, …, 8(m-1), т.е. разрешается детектирование только в четвертом компараторе СОМР 74. Далее на внутренней шине ВС устанавливается упорядоченный единичный позиционный ряд ВС=1111, который передается в блок счета единиц 10, в котором единичный позиционный ряд ВС=1111 преобразуется в двоичный код ВВ=4, соответствующий четвертому разряду выявленного шаблона.At the same time, in cycle 10, a single signal STOP=1 is received, according to which, along the edge of the clock signal C in cycle 11, the first RS-trigger 1 start-stop TSS=0 is set to zero. In this case, the code 0110 from the data input ID for the ninth group G9 is written in cycle 11 to the first R1 data register 5, and at the same time the code 1011 for the eighth group G8 from the outputs of the first R1 data register 5 is written to the second R2 data register 6, and also increases by unit value in counter 3 groups CTG=8. In this case, in the group of comparators 7 1 , 7 2 , …, 7 m , a match with the template IG=1011 will be detected in two groups on the first and fourth comparators 7 1 and 7 4 and the code COMP=1001 is generated at the outputs of the comparators. But since in cycle 11 the zero state is set in the first RS-trigger 1 start-stop TSS=0, it is forbidden to transfer values in the first (m-1) elements of the group AND 8 1 , 8 2 , …, 8 (m-1) , i.e. detection is allowed only in the fourth comparator COMP 7 4 . Next, an ordered single positional row BC=1111 is installed on the internal bus BC, which is transferred to the units counting block 10, in which the single positional series BC=1111 is converted into a binary code BB=4 corresponding to the fourth digit of the detected template.

Далее при единичном значении флага совпадений FE=1 в такте 12 в выходной буфер ОВ 4 по пятому адресу записывается код ОВ(5)=8_4, соответствующий входной восьмой группе G8 CTG=8 и второму разряду начала группы, соответствующей заданному шаблону IG=1011, который поступает с внутренней шины ВВ=4. Также в такте 12 проводится счет выявленных шаблонов на счетчике 14 СТК=6, которое передается на группу внешних выходов количества выявленных шаблонов QK.Further, with a single value of the match flag FE=1 in cycle 12, the code OB(5)=8_4 is written to the output buffer OB 4 at the fifth address, corresponding to the input eighth group G8 CTG=8 and the second bit of the beginning of the group corresponding to the specified template IG=1011, which comes from the internal bus BB=4. Also in cycle 12 is the account of the identified patterns on the counter 14 STK=6, which is transmitted to the group of external outputs of the number of identified patterns QK.

Таким образом, для входного N=32 разрядного двоичного числа приведенного на фиг. 2 в выходной буфер ОВ 4 записаны по шести адресам ОВ(0), …, ОВ(5) номера входных групп и коды номеров разрядов соответствующие расположению начала шаблонов в группах соответствующих заданному шаблону IG=1011.Thus, for the input N=32 bit binary number shown in FIG. 2 in the output buffer OB 4 are written at six addresses OB(0), ..., OB(5) numbers of input groups and codes of bit numbers corresponding to the location of the beginning of the templates in the groups corresponding to the given template IG=1011.

Считывание результатов на группу внешних выходов данных QB из выходного буфера ВО 4 выполняется под управлением по внешней шине управления ЕО. При реализации выходного буфера ВО 11 в виде двухпортовой памяти FIFO, обмен можно выполнять в процессе детектирования групп с учетом значений флагов «Буфер пуст» FZ и «Буфер заполнен» FF.Reading the results to a group of external data outputs QB from the output buffer VO 4 is controlled by an external control bus EO. When implementing the output buffer VO 11 in the form of a dual-port FIFO memory, the exchange can be performed in the process of detecting groups, taking into account the values of the flags "Buffer empty" FZ and "Buffer full" FF.

Обработка следующего входного N разрядного двоичного числа начинается после подачи единичного сигнала START=1.Processing of the next input N bit binary number begins after a single signal START=1.

Предлагаемое устройство может быть применено для аппаратной реализации статистических тестов разработанных лабораторией информационных технологий Национального института стандартов и технологий (NIST, США), целью которых является определение меры случайности двоичных последовательностей порожденных генераторами случайных чисел. В частности предлагаемое устройство реализует тест на совпадение неперекрывающихся заданных шаблонов размерностью m бит с группами из входных данных также размерностью m бит. При этом если шаблон не обнаружен то соседние анализируемые группы из входных данных сдвигаются на один бит вперед, а если шаблон найден, то соседняя группа перемещается на бит следующий за найденным шаблоном. Цель - выявить генераторы случайных или псевдослучайных чисел, формирующие слишком часто заданные непериодические шаблоны.The proposed device can be used for hardware implementation of statistical tests developed by the Information Technology Laboratory of the National Institute of Standards and Technology (NIST, USA), the purpose of which is to determine the measure of randomness of binary sequences generated by random number generators. In particular, the proposed device implements a test for matching non-overlapping given patterns of m bits with groups from the input data also of m bits. In this case, if the pattern is not found, then the neighboring analyzed groups from the input data are shifted one bit forward, and if the pattern is found, then the neighboring group is moved to the bit following the found pattern. The goal is to identify random or pseudo-random number generators that generate too often given non-periodic patterns.

При обработке результатов физических экспериментов предлагаемое устройство обеспечивает выявление непериодических событий (шаблонов - заданной группы из последовательностей единичных бит (длительности событий) и нулевых бит (интервалов между ними)) и координат событий.When processing the results of physical experiments, the proposed device provides the identification of non-periodic events (templates - a given group of sequences of single bits (events duration) and zero bits (intervals between them)) and event coordinates.

Вышеизложенные сведения позволяют сделать вывод, что предлагаемое устройство решает поставленную задачу и соответствует заявляемому техническому результату - выявление неперекрывающихся шаблонов содержащих заданные группы (последовательности) из единичных и нулевых бит и их расположение в группах входных данных.The above information allows us to conclude that the proposed device solves the problem and corresponds to the claimed technical result - the identification of non-overlapping patterns containing specified groups (sequences) of single and zero bits and their location in the input data groups.

Claims (17)

Устройство параллельно-последовательной структуры для детектирования неперекрывающихся шаблонов бит содержит внешний m-разрядный вход данных ID, внешний m-разрядный вход заданного шаблона IG, группу внешних выходов данных QB, группу внешних выходов количества выявленных шаблонов QK, первый RS-триггер пуска-останова TSS 1, второй D-триггер TR2 задержки 2, счетчик CTG групп 3, выходной буфер ОВ 4, первый R1 регистр данных 5, второй R2 регистр данных 6, группу из m компараторов 71, 72, …, 7m, группу из m элементов И 81, 82, …, 8m, группу из (m-1) элементов ИЛИ 91, 92, …, 9(m-1), блок счета единиц 10, элемент И 11, элемент ИЛИ-НЕ 12, счетчик шаблонов СТК 13 и регистр маски RM 14,A device of a parallel-serial structure for detecting non-overlapping bit patterns contains an external m-bit data input ID, an external m-bit input of a given pattern IG, a group of external data outputs QB, a group of external outputs for the number of detected patterns QK, the first RS start-stop trigger TSS 1, second D-flip-flop TR2 delay 2, CTG group counter 3, output buffer OB 4, first R1 data register 5, second R2 data register 6, group of m comparators 7 1 , 7 2 , …, 7 m , group of m elements AND 8 1 , 8 2 , …, 8 m , a group of (m-1) elements OR 9 1 , 9 2 , …, 9 (m-1) , unit count block 10, element AND 11, element OR-NOT 12, STK pattern counter 13 and RM mask register 14, а также введены внешние входы асинхронной установки в нулевое состояние CLR, пуска устройства START, остановки устройства STOP и тактовый вход С, внутренняя 2m-разрядная шина данных BD, внутренняя шина v-разрядного двоичного кода начала шаблона в группе ВВ (где v=]log2 m[(большее целое)), внутренняя m-разрядная шина кода единичного позиционного ряда ВС, внутренняя m-разрядная шина маски ВМ, внутренний флаг совпадения FE, внешняя шина управления обменом ЕО, внешние флаг «Буфер заполнен» FF и флаг «Буфер пуст» FZ,and also introduced external inputs of asynchronous setting to zero state CLR, start device START, stop device STOP and clock input C, internal 2m-bit data bus BD, internal bus v-bit binary code of the beginning of the pattern in the group BB (where v =] log2 m[(greater integer)), internal m-bit line code line BC, internal m-bit line mask BM, internal match flag FE, external exchange control bus EO, external buffer full flag FF and buffer empty flag » FZ, причем внешний вход асинхронной установки в нулевое состояние CLR соединен с соответствующими входами асинхронной установки в нулевое состояние CLR первого RS-триггера пуска-останова TSS 1 и второго D-триггера TR2 задержки,moreover, the external input of the asynchronous zeroing CLR is connected to the corresponding inputs of the asynchronous zeroing CLR of the first RS start-stop flip-flop TSS 1 and the second delay D-latch TR2, внешний тактовый вход устройства С соединен с входами синхронизации С первого RS-триггера пуска-останова TSS 1, второго D-триггера TR2 задержки 2, счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистра данных 5, второго R2 регистра данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14,The external clock input of device C is connected to the clock inputs C of the first RS start-stop flip-flop TSS 1, the second D-flip-flop TR2 of the delay 2, the CTG group counter 3, the output buffer OB 4, the first R1 data register 5, the second R2 data register 6, template counter STK 13 and mask register RM 14, внешний вход пуска устройства START соединен с входом S синхронной установки в единичное состояние первого RS-триггера пуска-останова TSS 1 и с входами R синхронной установки в нулевое состояние счетчика CTG групп 3, выходного буфера ОВ 4, первого R1 регистра данных 5, второго R2 регистра данных 6, счетчика шаблонов СТК 13 и регистра маски RM 14,the external start input of the START device is connected to the input S of the synchronous setting to a single state of the first RS start-stop trigger TSS 1 and to the inputs R of the synchronous setting to the zero state of the CTG counter of groups 3, the output buffer OB 4, the first R1 of the data register 5, the second R2 data register 6, pattern counter STK 13 and mask register RM 14, внешний вход остановки устройства STOP соединен с входом R синхронной установки в нулевое состояние первого RS-триггера пуска-останова TSS 1,the external stop input of the STOP device is connected to the input R of the synchronous set to zero state of the first RS start-stop trigger TSS 1, причем прямой выход первого RS-триггера пуска-останова TSS 1 соединен с D-входом второго триггера TR2 задержки 2, с входами СЕ разрешения работы первого R1 регистра данных 5, второго R2 регистра данных 6, регистра маски RM 14 и третьими входами первых (m-1) элементов И группы 81, 82, …, 8(m-1),moreover, the direct output of the first RS-trigger start-stop TSS 1 is connected to the D-input of the second trigger TR2 delay 2, with the inputs CE of enabling the operation of the first R1 data register 5, the second R2 data register 6, the mask register RM 14 and the third inputs of the first (m -1) elements AND groups 8 1 , 8 2 , …, 8 (m-1) , выход второго D-триггера TR2 задержки соединен с входом СЕ разрешения работы счетчика CTG групп 3 и первым входом элемента И 11, выход которого соединен с входом СЕ разрешения записи в выходной буфер ОВ 4 и разрешения счета СЕ счетчика шаблонов СТК 13, выходы которого являются группой внешних выходов количества выявленных шаблонов QK,the output of the second D-flip-flop TR2 of the delay is connected to the input CE of enabling the operation of the CTG counter of groups 3 and the first input of the element AND 11, the output of which is connected to the input of the CE of the permission to write to the output buffer OB 4 and the permission of the account of the CE of the counter of the CTC templates 13, the outputs of which are a group external outputs of the number of detected QK templates, причем внешний m-разрядный вход заданного шаблона IG соединен с первыми группами входов всех m компараторов группы 71, 72, …, 7m, выходы которых соединены со вторыми входами соответствующих одноименных элементов И группы 81, 82, …, 8m,moreover, the external m-bit input of the given template IG is connected to the first groups of inputs of all m comparators of the group 7 1 , 7 2 , …, 7 m , the outputs of which are connected to the second inputs of the corresponding elements of the same name AND of the group 8 1 , 8 2 , …, 8 m , внешний m-разрядный вход данных ID соединен с группой информационных D-входов первого R1 регистра данных 5, выходы которого являются соответствующими разрядами, начиная с первого до m-го разряда, внутренней шины данных BD, а также соединены с группой информационных D-входов второго R2 регистра данных 6, выходы которого являются соответствующими разрядами, начиная с (m+1)-го до 2m-го разряда, внутренней шины данных BD,the external m-bit data input ID is connected to the group of information D-inputs of the first R1 data register 5, the outputs of which are the corresponding bits, starting from the first to the m-th bit, of the internal data bus BD, and is also connected to the group of information D-inputs of the second R2 of data register 6, whose outputs are the corresponding bits from the (m+1)th to the 2mth bit, of the internal data bus BD, причем разряды внутренней шины данных BD группами по m разрядов, каждая из которых начинается с (i+1)-го разряда (i=1, …, m), соединены со вторыми группами входов соответствующих i-ых компараторов группы 71, 72, …, 7m,moreover, the bits of the internal data bus BD in groups of m bits, each of which begins with the (i+1)-th bit (i=1, ..., m), are connected to the second groups of inputs of the corresponding i-th comparators of the group 7 1 , 7 2 , …, 7 m , выходы первых (m-1) элементов И группы 81, 82, …, 8(m-1) соединены с первыми входами одноименных элементов ИЛИ группы 91, 92, …, 9(m-1), а выход последнего m-го элемента И 8m соединен со вторым входом последнего элемента 9(m-1), а также является m-м разрядом внутренней шины кода единичного позиционного ряда ВС, у которой разрядами, начиная с первого до (m-1)-го разряда, являются выходы одноименных (m-1) элементов ИЛИ группы 91, 92, …, 9(m-1),the outputs of the first (m-1) elements AND of the group 8 1 , 8 2 , ..., 8 (m-1) are connected to the first inputs of the same elements OR of the group 9 1 , 9 2 , ..., 9 (m-1) , and the output of the last m-th element AND 8 m is connected to the second input of the last element 9 (m-1) , and is also the m-th bit of the internal bus code of the unit positional row VS, in which the bits, starting from the first to (m-1)-th discharge, are the outputs of the same name (m-1) elements OR group 9 1 , 9 2 , ..., 9 (m-1) , кроме того вторые входы первых (m-2) элементов ИЛИ группы 91, 92, …, 9(m-2), начиная с первого до (m-2)-го элементов, соединены с выходами соответствующих последующих (m-2) элементов ИЛИ группы 92, 93, …, 9(m-1), начиная со второго до (m-1)-го элементов,in addition, the second inputs of the first (m-2) elements of the OR group 9 1 , 9 2 , …, 9 (m-2) , starting from the first to the (m-2)-th elements, are connected to the outputs of the corresponding subsequent (m-2 ) OR elements of the group 9 2 , 9 3 , …, 9 (m-1) , starting from the second to the (m-1)-th element, причем все m разрядов внутренней шины кода единичного позиционного ряда ВС соединены с соответствующими входами блока счета единиц 10, с группой информационных D-входов регистра маски RM 14 и с входами элемента ИЛИ-НЕ 12, прямой выход которого является внутренним флагом совпадения FE и соединен со вторым входом элемента И 11, а инверсный выход элемент ИЛИ-НЕ 12 соединен с входом S синхронной установки в единичное состояние регистра маски RM 14,moreover, all m bits of the internal bus code of a single positional row BC are connected to the corresponding inputs of the units counting block 10, to the group of information D-inputs of the mask register RM 14 and to the inputs of the OR-NOT element 12, the direct output of which is an internal match flag FE and is connected to the second input of the AND element 11, and the inverse output of the OR NOT element 12 is connected to the input S of the synchronous setting to the single state of the mask register RM 14, кроме того выходы регистра маски RM 14 являются соответствующими одноименными разрядами внутренней m-разрядной шины маски ВМ, которые соединены с первыми входами одноименных m элементов И группы 81, 82, …, 8m,in addition, the outputs of the mask register RM 14 are the corresponding bits of the same name of the internal m-bit bus of the VM mask, which are connected to the first inputs of the same m elements And groups 8 1 , 8 2 , ..., 8 m , причем выходы блока счета единиц 10 являются соответствующими разрядами внутренней шины двоичного кода начала шаблона в группе ВВ, которая соединена со второй группой информационных D-входов выходного буфера ОВ 4, у которого первая группа информационных D-входов соединена с выходами счетчика CTG групп 3,moreover, the outputs of the units counting block 10 are the corresponding bits of the internal bus of the binary code of the beginning of the template in the group BB, which is connected to the second group of information D-inputs of the output buffer OB 4, in which the first group of information D-inputs is connected to the outputs of the counter CTG groups 3, кроме того выходной буфер ОВ 4 также подключен к внешней шине ЕО управления обменом, а соответствующие выходы выходного буфера ОВ 4 являются группой внешних выходов данных QB и внешними флагами «Буфер заполнен» FF и «Буфер пуст» FZ.in addition, the output buffer OB 4 is also connected to the external exchange control bus EO, and the corresponding outputs of the output buffer OB 4 are a group of external data outputs QB and external flags "Buffer full" FF and "Buffer empty" FZ.
RU2023102025A 2023-01-31 Parallel-serial structure device for detecting non-overlapping bit patterns RU2798197C1 (en)

Publications (1)

Publication Number Publication Date
RU2798197C1 true RU2798197C1 (en) 2023-06-19

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041370A (en) * 1997-12-08 2000-03-21 Intel Corporation FIFO using a fading ones counter
US6904114B2 (en) * 2003-04-25 2005-06-07 J. Barry Shackleford Ones counter employing two dimensional cellular array
RU2680759C1 (en) * 2018-02-16 2019-02-26 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device of serial type for detection of groups of zero and unit bits and determination of number thereof
RU2711054C1 (en) * 2019-08-06 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device of parallel-serial structure for detection of groups of zero and single bits and determination of their number
RU2780985C1 (en) * 2021-12-01 2022-10-04 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device for detecting groups of bits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041370A (en) * 1997-12-08 2000-03-21 Intel Corporation FIFO using a fading ones counter
US6904114B2 (en) * 2003-04-25 2005-06-07 J. Barry Shackleford Ones counter employing two dimensional cellular array
RU2680759C1 (en) * 2018-02-16 2019-02-26 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device of serial type for detection of groups of zero and unit bits and determination of number thereof
RU2711054C1 (en) * 2019-08-06 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device of parallel-serial structure for detection of groups of zero and single bits and determination of their number
RU2780985C1 (en) * 2021-12-01 2022-10-04 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Device for detecting groups of bits

Similar Documents

Publication Publication Date Title
RU2728957C1 (en) Device for detecting groups of bits in a binary sequence
RU2798197C1 (en) Parallel-serial structure device for detecting non-overlapping bit patterns
RU2780985C1 (en) Device for detecting groups of bits
RU2809741C1 (en) Group structure device for detecting variable bit patterns
RU2787294C1 (en) Device for detecting overlapping bit patterns in a binary sequence
RU2800039C1 (en) Device for detecting groups of single bit and maximum group in data blocks
RU2807299C1 (en) Device for detecting overlapped and non-overlapped bit patterns in binary sequence
RU2819111C1 (en) Device for detecting given k-bit groups of single bits in data units
RU2815502C1 (en) Device for detecting groups of single bits and maximum groups in blocks of binary sequence
RU2809743C1 (en) Device for detecting groups of single bits in blocks of binary sequence
RU2711054C1 (en) Device of parallel-serial structure for detection of groups of zero and single bits and determination of their number
RU2763859C1 (en) Device for detecting unit groups of bits in a binary sequence
RU2024058C1 (en) Device for estimating linear arrangement of elements
RU2634200C1 (en) Device for accelerated calculating matrix of incomplete parallelism
RU2749150C1 (en) Sequential device for detecting boundaries of range of single bits in binary sequence
JPH0413851Y2 (en)
CN113255261B (en) FPGA-based pseudorandom sequence period detection method
SU1397933A1 (en) Device for permutation searching
RU2421804C2 (en) Device for generate matrix of incomplete parallelism
RU1815652C (en) Correlation device
RU2130644C1 (en) Device for information retrieval
SU1249551A1 (en) Dividing device
SU1315939A1 (en) Multicoordinate digital interpolator
SU1328830A1 (en) Device for shaping symptoms of images being recognized
SU1251049A1 (en) Device for determining route