RU2163028C2 - Device for evaluating linear layout of components - Google Patents
Device for evaluating linear layout of components Download PDFInfo
- Publication number
- RU2163028C2 RU2163028C2 RU99107942A RU99107942A RU2163028C2 RU 2163028 C2 RU2163028 C2 RU 2163028C2 RU 99107942 A RU99107942 A RU 99107942A RU 99107942 A RU99107942 A RU 99107942A RU 2163028 C2 RU2163028 C2 RU 2163028C2
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- block
- inputs
- information
- Prior art date
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Complex Calculations (AREA)
Abstract
Description
Предлагаемое изобретение относится к области вычислительной техники и предназначено для использования в составе технических средств систем автоматизированного проектирования при выполнении процедуры размещения элементов различных электронных схем. The present invention relates to the field of computer technology and is intended for use as part of the technical means of computer-aided design when performing the procedure for placing elements of various electronic circuits.
Известно устройство, предназначенное для моделирования комбинаторных задач проектирования РЭА и АСУ, обеспечивающее возможность оценки текущего размещения при изоморфных преобразованиях (см. а.с. СССР N 1291957, МКИ G 06 F 7/00, 1984). Известное устройство представляет собой полноматричную одномерную среду, каждая ячейка которой содержит блок оценки размещения. Недостатком этого устройства является то, что оно не реализует оценку текущего размещения по какому-либо критерию. A device is known for simulating the combinatorial problems of designing REA and ACS, providing the ability to evaluate the current location during isomorphic transformations (see AS USSR N 1291957, MKI G 06 F 7/00, 1984). The known device is a full-matrix one-dimensional medium, each cell of which contains a unit for assessing placement. The disadvantage of this device is that it does not implement an assessment of the current placement by any criterion.
Известно также устройство для оценки размещения, содержащее полноматричную двухмерную однородную среду, блоки подсчета единиц, блок нахождения максимума, сумматор, блок памяти, шину записи матрицы инцидентности исходного гиперграфа, вход управления перестановкой столбцов, вход управления перестановкой строк, вход управления записью в блок памяти, первый и второй выходы оценки текущего размещения, информационный выход, вход установки и соответствующие связи между ними (см. а.с. СССР N 1430949, G 06 F 7/00, 15/20, 1987). Недостатками данного устройства являются высокая сложность, обусловленная значительной сложностью блоков подсчета единиц и однородной среды, низкое среднее быстродействие, обусловленное зависимостью времени оценки от конкретного варианта размещения и текущего состояния однородной среды, а также отсутствие возможности подсчета критерия загруженности рабочего поля размещения. There is also known a device for evaluating placement, containing a full-matrix two-dimensional homogeneous medium, unit counting units, a maximum finding unit, an adder, a memory unit, an incidence matrix entry bus for the source hypergraph, a column permutation control input, a row permutation control input, a write control input to the memory block, the first and second outputs of the assessment of the current location, the information output, the installation input and the corresponding connections between them (see AS USSR N 1430949, G 06 F 7/00, 15/20, 1987). The disadvantages of this device are the high complexity due to the significant complexity of the units and units of a homogeneous environment, the low average performance due to the dependence of the evaluation time on a specific placement option and the current state of a homogeneous environment, as well as the inability to calculate the criterion for the workload of the placement field.
Наиболее близким по технической сущности к предлагаемому изобретению является устройство для оценки линейного размещения элементов (Патент РФ N 2024058, кл. G 06 F 15/419, 1994). Это устройство содержит блок памяти, m идентичных блоков подсчета длины цепи, где m - число цепей, многовходовой сумматор, блок нахождения максимума, вход установки, шину записи матрицы инцидентности исходного гиперграфа, шину адреса, вход сброса, вход синхронизации, вход окончания перестановки, выходы оценки текущего размещения, связанные с выходами блока нахождения максимума и сумматора соответственно, а также соответствующие связи. The closest in technical essence to the proposed invention is a device for assessing the linear placement of elements (RF Patent N 2024058, CL G 06 F 15/419, 1994). This device contains a memory unit, m identical units for calculating the chain length, where m is the number of circuits, a multi-input adder, a maximum finding unit, an installation input, an incidence matrix record bus for the initial hypergraph, an address bus, a reset input, a synchronization input, an end permutation input, outputs estimates of the current location associated with the outputs of the maximum and adder blocks, respectively, as well as the corresponding relationships.
Недостатком этого устройства является отсутствие возможности подсчета критерия загруженности рабочего поля размещения. The disadvantage of this device is the inability to calculate the criterion of the workload of the working field of the placement.
Задачей предлагаемого изобретения является расширение функциональных возможностей устройства за счет обеспечения подсчета критерия загруженности рабочего поля размещения. The task of the invention is to expand the functionality of the device by ensuring the calculation of the criterion of the workload of the working field of placement.
Технический результат достигается тем, что в устройство, содержащее блок памяти, m идентичных блоков подсчета длины цепи, блок нахождения максимума, вход установки, шину записи матрицы инцидентности исходного гиперграфа, шину адреса, вход сброса, вход синхронизации, вход окончания перестановки, первый и второй выходы оценки текущего размещения, причем вход установки соединен со входом управления записью/считыванием блока памяти, шина записи матрицы инцидентности исходного гиперграфа подключена к информационным входам блока памяти, адресные входы которого подключены к шине адреса, к соответствующим входам каждого блока подсчета длины цепи (БПДЦ) подсоединены входы сброса, синхронизации и окончания перестановки, при этом i-й выход блока памяти (i = 1,...,m) подключен к информационному входу i-го БПДЦ, выход которого соединен с i-м информационным входом блока нахождения максимума (БНМ), а выход последнего является первым выходом оценки текущего размещения, введены m идентичных блоков распознавания загрузки (БРЗ), блок подсчета числа единиц (БПЧЕ), сумматор, блок выделения максимума (БВМ), элемент И, вход инициализации, третий выход оценки текущего размещения и выход окончания оценки текущего размещения, причем i-й выход блока памяти подключен к информационному входу i-го БРЗ, к соответствующим управляющим входам каждого БРЗ подсоединены входы сброса, окончания перестановки, инициализации и выход окончания оценки текущего размещения, информационные выходы БРЗ подключены ко входам БПЧЕ, сигнальные же выходы БРЗ подключены ко входам элемента И, выход которого является выходом окончания оценки текущего размещения, выход БПЧЕ соединен с информационными входами сумматора и БВМ, соответствующие управляющие входы которых соединены со входами сброса, синхронизации, окончания перестановки и выходом окончания оценки текущего размещения, при этом выходы сумматора и БВМ являются соответственно вторым и третьим выходами оценки текущего размещения. Каждый БРЗ содержит триггер, первый, второй, третий и четвертый элементы И, счетчик и регистр, причем вход установки триггера в единичное состояние соединен с первыми входами первого и второго элементов И и является информационным входом БРЗ, вторые входы всех элементов И соединены между собой и являются входом инициализации БРЗ, первый вход третьего элемента И является входом признака окончания оценки текущего размещения, первый же вход четвертого элемента И соединен с первым входом установки триггера в нулевое состояние и является входом признака окончания перестановки, вход установки счетчика в нулевое состояние является входом сброса БРЗ, выход триггера является информационным выходом БРЗ, а его сигнальным выходом является выход окончания счета счетчика, соединенный со вторым входом установки триггера в нулевое состояние, при этом вход прямого счета счетчика соединен с выходом первого элемента И, выход второго элемента И соединен со входом обратного счета счетчика, вход параллельной загрузки которого соединен с выходом третьего элемента И, информационные же входы счетчика соединены с соответствующими выходами регистра, информационные входы которого соединены с соответствующими информационными выходами счетчика, вход параллельной загрузки регистра соединен с выходом четвертого элемента И. The technical result is achieved by the fact that in a device containing a memory block, m identical blocks for calculating the chain length, a block for finding the maximum, an installation input, an incidence matrix record bus for the initial hypergraph, an address bus, a reset input, a synchronization input, an end permutation input, the first and second evaluation outputs of the current location, the input of the installation being connected to the input control of the write / read of the memory block, the recording bus of the incidence matrix of the original hypergraph is connected to the information inputs of the memory block, whose clear inputs are connected to the address bus, the reset, synchronization and end of permutation inputs are connected to the corresponding inputs of each circuit length counter (BDC), and the i-th output of the memory block (i = 1, ..., m) is connected to the information the input of the i-th BPDC, the output of which is connected to the i-th information input of the maximum finding unit (BNM), and the output of the latter is the first output of the current location estimate, m identical load recognition units (RHL), unit for counting the number of units (BCHE) are introduced, totalizer, allocation block maximum (BVM), AND element, initialization input, third output of the current placement assessment and the output of the end of the current placement evaluation, the i-th output of the memory block being connected to the information input of the i-th BRZ, the reset, end of permutation inputs are connected to the corresponding control inputs of each BRZ , initialization and the output of the end of the assessment of the current location, the information outputs of the BRZ are connected to the inputs of the BCH, the signal outputs of the BRZ are connected to the inputs of the element And, the output of which is the output of the end of the assessment of the current placement, output One BPCHE is connected to the information inputs of the adder and the computer, the corresponding control inputs of which are connected to the inputs of reset, synchronization, the end of the permutation and the output of the end of the assessment of the current placement, while the outputs of the adder and the computer are respectively the second and third outputs of the assessment of the current placement. Each RHL contains a trigger, the first, second, third and fourth elements of And, a counter and a register, the input of setting the trigger in a single state is connected to the first inputs of the first and second elements of And is the information input of the RHL, the second inputs of all the elements And are interconnected and are the input of the RHL initialization, the first input of the third element AND is the input of the sign of the end of the assessment of the current placement, the first input of the fourth element And is connected to the first input of setting the trigger to zero and is an input ohm of the sign of the end of the permutation, the input of setting the counter to zero is the reset input of the BRZ, the trigger output is the information output of the BRZ, and its signal output is the output of the end of the counter connected to the second input of setting the trigger to zero, while the input of the direct counter is connected with the output of the first element And, the output of the second element And is connected to the input of the countdown counter, the parallel loading input of which is connected to the output of the third element And, the information input a counter connected to respective outputs of the register, whose data inputs are connected to respective data outputs of the counter, register parallel load input connected to the output of the fourth element I.
Здесь сумматор отнесен к отличительным признакам, т.к. в прототипе используется многовходовый комбинационный сумматор, а в предлагаемом устройстве применяется сумматор накапливающего типа с одним информационным входом. Here the adder is related to the distinguishing features, because in the prototype, a multi-input combiner is used, and in the proposed device, a cumulative accumulator with one information input is used.
Наличие отличительных признаков обуславливает соответствие заявляемого технического решения критерию новизны. The presence of distinctive features determines the compliance of the claimed technical solution to the criterion of novelty.
Заявляемое техническое решение соответствует также и критерию "существенные отличия", т.к. не обнаружено решений с признаками, отличающими заявляемое техническое решение от прототипа. The claimed technical solution also meets the criterion of "significant differences", because not found solutions with signs that distinguish the claimed technical solution from the prototype.
Возможность достижения технического результата изобретения обусловлена следующими предпосылками. Пусть задана некоторая схема C=(M,N), содержащая множество М= {m1, m2,..., mn} элементов, соединенных между собой посредством множества N= {n1,n2,...,nm} цепей. Пусть задано также одномерное дискретное регулярное рабочее поле S, состоящее из множества позиций P={p1,p2,...,pn}, центры которых отстоят друг от друга на единичный интервал длины. Положим, что всякий элемент mk, где k = 1,...,n, может быть размещен в любой позиции pj, где j= 1,...,n, без ограничений на размещение других элементов (т.е. без взаимного наложения других элементов). Тогда задачу линейного размещения элементов можно сформулировать как задачу отыскания варианта размещения элементов схемы из множества М на позициях множества P рабочего поля, для которого некоторая целевая функция принимает оптимальное значение. На практике при расчете целевой функции кроме суммарной длины цепей и наибольшей длины цепи, т.е. критериев, используемых в прототипе, широко используется также и критерий загруженности рабочего поля размещения. Наиболее часто данный критерий применяется при размещении элементов коммутации объединительных плат, элементов матричных БИС, логических матриц т.д. Для рассматриваемого случая линейного размещения элементов под загруженностью рабочего поля мы будем понимать максимальное число цепей, имеющихся между какими-либо соседними для данного варианта размещения элементами.The possibility of achieving a technical result of the invention is due to the following prerequisites. Let a certain scheme C = (M, N) be given containing the set M = {m 1 , m 2 , ..., m n } of elements interconnected by the set N = {n 1 , n 2 , ..., n m } chains. Let also a one-dimensional discrete regular working field S be given, consisting of the set of positions P = {p 1 , p 2 , ..., p n }, whose centers are spaced apart by a unit length interval. We assume that every element m k , where k = 1, ..., n, can be placed at any position p j , where j = 1, ..., n, without restrictions on the placement of other elements (i.e. without overlapping other elements). Then the problem of linear arrangement of elements can be formulated as the problem of finding a variant of placing circuit elements from the set M at the positions of the set P of the working field for which some objective function takes an optimal value. In practice, when calculating the objective function, in addition to the total chain length and the largest chain length, i.e. criteria used in the prototype, is widely used as a criterion for the load of the working field placement. Most often, this criterion is used when placing backplane switching elements, matrix LSI elements, logical matrices, etc. For the case of linear arrangement of elements under consideration, under the workload of the working field, we mean the maximum number of circuits between any elements adjacent to this option for placement.
Рассмотрим формальное определение загруженности, полагая, что всякий вариант линейного размещения может быть представлен в следующем виде:
πr= (mr1,mr2,...,mrn) или πr= (r1,r2,...,rn).
Пусть N(T) ⊂ N есть подмножество цепей, инцидентных элементам из подмножества Т = {mrl, mr2,...mrt}, а ω(r1,r2,...,rt) есть общее число цепей, имеющихся между элементами подмножества Т и всеми остальными элементами, принадлежащими подмножеству М\Т. Тогда
Если рассматривать перестановку πr, то ω (r1,r2,...,rt) представляет собой число цепей, имеющихся между элементами mrt из подмножества Т и mrt+1 из подмножества М\ Т, которое мы будем называть локальной загруженностью. Загруженность же всего рабочего поля определяется следующим образом:
(1)
Для определения загруженности рабочего поля может быть использована гиперграфовая математическая модель схемы и соответствующая матричная модель рабочего поля. Гиперграф H = (V,E) представляет собой совокупность множества V = { v1, v2, ...,Vn} вершин и множества E = {e1,e2,...,en} ребер. Для его задания будем использовать матрицу инцидентности где l = 1,... , m, k = 1,...,n, для которой:
Каждому элементу mk схемы ставится во взаимно однозначное соответствие вершина vk гиперграфа, а всякой цепи n1 схемы - ребро e1 гиперграфа. При этом, если некоторый контакт элемента mk принадлежит некоторой цепи n1, то соответствующая вершина vk гиперграфа считается инцидентной ребру e1. Заметим, что здесь мы не учитываем реальных размеров элементов, а стягиваем их в точки - вершины гиперграфа.Consider the formal definition of congestion, assuming that any variant of linear placement can be represented as follows:
π r = (m r1 , m r2 , ..., m rn ) or π r = (r 1 , r 2 , ..., r n ).
Let N (T) ⊂ N be the subset of chains incident to elements from the subset T = {m rl , m r2 , ... m rt }, and ω (r 1 , r 2 , ..., r t ) be the total number chains between the elements of the subset и and all other elements belonging to the subset M \ T. Then
If we consider the permutation π r , then ω (r 1 , r 2 , ..., r t ) is the number of chains between the elements m rt from the subset T and m rt + 1 from the subset M \ T, which we will call local congestion. The workload of the entire working field is determined as follows:
(1)
To determine the workload of the working field, a hypergraphic mathematical model of the circuit and the corresponding matrix model of the working field can be used. The hypergraph H = (V, E) is a combination of the set V = {v 1 , v 2 , ..., V n } of vertices and the set E = {e 1 , e 2 , ..., e n } of edges. To set it, we will use the incidence matrix where l = 1, ..., m, k = 1, ..., n, for which:
Each element m k of the scheme is assigned a one-to-one correspondence with the vertex v k of the hypergraph, and of any chain n 1 of the scheme, the edge e 1 of the hypergraph. Moreover, if some contact of the element m k belongs to some chain n 1 , then the corresponding vertex v k of the hypergraph is considered incident to the edge e 1 . Note that here we do not take into account the actual sizes of the elements, but we contract them to points - the vertices of the hypergraph.
Пример матрицы инцидентности A(πr)8×6, πr= (1,2,3,4,5,6) приведен на фиг. 5. Для моделирования рабочего поля S используется то же матричное представление гиперграфа, что оказывается возможным ввиду одномерности, дискретности и регулярности рабочего поля для рассматриваемого случая. При этом удобным оказывается использование так называемых интервальных диаграмм (см. Абрайтис Л. Б. Автоматизация проектирования топологии цифровых интегральных микросхем. -М.: Радио и связь, 1985. - 200 с., с. 92). Если взять m горизонтальных интервалов, соответствующих m строкам матрицы инцидентности, и разместить в них цепи в порядке их расположения в матрице, то будет сформирована соответствующая интервальная диаграмма. Пример интервальной диаграммы для матрицы A(πr)8×6, πr= (1,2,3,4,5,6), приведенной на фиг. 5, показан на фиг. 6. Здесь же даются все значения локальной загруженности и значение загруженности всего рабочего поля размещения. Так как локальная загруженность каждого межэлементного промежутка определяется как суммарное число пересекающих его цепей, можно записать
(2)
где
Тогда загруженность всего рабочего поля определяется так
(3)
С учетом вышеизложенного алгоритм определения загруженности рабочего поля на основе матрицы инцидентности может быть сформулирован следующим образом:
1. Выполнить п. 2 - 4 для каждого t= {l,2,.., n-1}.An example of the incidence matrix A (π r ) 8 × 6 , π r = (1,2,3,4,5,6) is shown in FIG. 5. To model the working field S, the same matrix representation of the hypergraph is used, which is possible due to the one-dimensionality, discreteness, and regularity of the working field for the case under consideration. In this case, it is convenient to use the so-called interval diagrams (see Abraitis L. B. Automation of designing the topology of digital integrated circuits. -M.: Radio and communications, 1985. - 200 p., P. 92). If we take m horizontal intervals corresponding to m rows of the incidence matrix, and place the chains in them in the order of their location in the matrix, then the corresponding interval diagram will be formed. An example of an interval diagram for a matrix A (π r ) 8 × 6 , π r = (1,2,3,4,5,6) shown in FIG. 5 is shown in FIG. 6. Here are given all the values of local congestion and the congestion value of the entire working placement field. Since the local congestion of each interelement gap is defined as the total number of circuits crossing it, we can write
(2)
Where
Then the workload of the entire working field is determined as follows
(3)
Based on the foregoing, the algorithm for determining the workload of the working field based on the incidence matrix can be formulated as follows:
1. Perform steps 2 - 4 for each t = {l, 2, .., n-1}.
2. Выполнить п. 3 для каждой цепи h= {1,2,...,m}. 2. Perform
3. Вычислить ωh(r1,r2,...,rt).
4. Вычислить
5. Определить
6. Конец.3. Calculate ω h (r 1 , r 2 , ..., r t ).
4. Calculate
5. Define
6. The end.
Таким образом, наличие алгоритма определения загруженности рабочего поля подтверждает возможность достижения технического результата предлагаемым устройством. Кроме того, можно показать, что критерий суммарной длины цепей LΣ(πr) может быть рассчитан как сумма значений локальной загруженности. Это обусловлено тем, что используется одномерное регулярное дискретное рабочее поле размещения с постоянным шагом. При этом величина ω(r1,r2,...,rt) представляет собой суммарную длину цепей в интервале между позициями t и t+1. Поэтому
(4)
или иначе
(5)
В предлагаемом устройстве используется именно такой способ расчета суммарной длины цепей.Thus, the presence of an algorithm for determining the load of the working field confirms the possibility of achieving a technical result by the proposed device. In addition, it can be shown that the criterion for the total chain length L Σ (π r ) can be calculated as the sum of the values of local congestion. This is due to the fact that a one-dimensional regular discrete placement working field with a constant step is used. Moreover, the quantity ω (r 1 , r 2 , ..., r t ) represents the total length of the chains in the interval between the positions t and t + 1. therefore
(4)
or otherwise
(5)
The proposed device uses just such a method of calculating the total length of the chains.
Предлагаемое изобретение поясняется прилагаемыми фигурами, где на фиг.1 приведена структурная схема устройства, на фиг. 2 - функциональная схема блока распознавания загрузки, на фиг. 3 и 4 - временные диаграммы работы устройства в режимах инициализации и оценки размещения соответственно, на фиг. 5 показан пример матрицы инцидентности A(πr)8×6, πr= (1,2,3,4,5,6), а на фиг. 6 приведена соответствующая ей интервальная диаграмма, на фиг. 7 приведен пример матрицы инцидентности A(πr)8×6, для перестановки πr= (2,1,3,6,5,4), на фиг. 8 показано размещение матрицы инцидентности A8X6 в блоке памяти устройства, на фиг. 9 и 10 приведены примеры разрядно-последовательного представления матрицы инцидентности A(πr)8×6 для перестановок πr= (1,2,3,4,5,6) и πr= (2,1,3,6,5,4) соответственно.The invention is illustrated by the accompanying figures, where in Fig.1 shows a structural diagram of a device, in Fig. 2 is a functional diagram of a load recognition unit, FIG. 3 and 4 are timing diagrams of the operation of the device in initialization and placement evaluation modes, respectively, in FIG. 5 shows an example of the incidence matrix A (π r ) 8 × 6 , π r = (1,2,3,4,5,6), and in FIG. 6 shows the corresponding interval diagram, FIG. 7 shows an example of the incidence matrix A (π r ) 8 × 6 , for the permutation π r = (2,1,3,6,5,4), in FIG. 8 shows the placement of the incidence matrix A 8X6 in the device memory unit; FIG. Figures 9 and 10 show examples of a bit-sequential representation of the incidence matrix A (π r ) 8 × 6 for permutations π r = (1,2,3,4,5,6) and π r = (2,1,3,6, 5.4) respectively.
Устройство содержит блок 1 памяти, m идентичных блоков 2 подсчета длины цепи, блок 3 нахождения максимума, m идентичных блоков 4 распознавания загрузки, блок 5 подсчета числа единиц, сумматор 6, блок 7 выделения максимума, элемент И 8, вход 9 установки, шину 10 записи матрицы инцидентности исходного гиперграфа, шину 11 адреса, вход 12 сброса, вход 13 синхронизации, вход 14 окончания перестановки, вход 15 инициализации, первый 16, второй 17 и третий 18 выходы оценки текущего размещения, а также выход 19 окончания оценки текущего размещения. Причем вход 9 установки соединен со входом управления записью/считывания блока 1 памяти, шина 10 записи матрицы инцидентности соединена с информационными входами блока 1 памяти, адресные входы которого соединены с шиной 11 адреса, к соответствующим управляющим входам каждого БПДЦ 2 присоединены входы 12 сброса, 13 синхронизации и 14 окончания перестановки, а к соответствующим управляющим входам каждого БРЗ 4 присоединены входы 12 сброса, 14 окончания перестановки, 15 инициализации и выход 19 окончания оценки текущего размещения, при этом i-й выход блока 1 памяти (i= 1,..., m) соединен с информационными входами i-го БПДЦ 2 и i-го БРЗ 4, выход же i-го БПДЦ 2 соединен с i-м информационным входом блока 3, а информационный выход i-го БРЗ 4 соединен с i-м входом БПЧЕ 5, сигнальный же выход i-го БРЗ 4 соединен с соответствующим входом элемента И 8, к выходу БПЧЕ 5 подключены информационные входы сумматора 6 и блока 7, соответствующие управляющие входы которых соединены со входом 12 сброса, 13 синхронизации, 14 окончания перестановки и выходом 19 окончания оценки текущего размещения. Выходы блока 3 нахождения максимума, сумматора 6 и блока 7 выделения максимума являются соответственно первым 16, вторым 17 и третьим 18 выходами оценки текущего размещения, выход элемента И 8 является выходом 19 окончания оценки текущего размещения. The device contains a
Каждый БРЗ 4 (фиг. 2) содержит триггер 20, первый 21, второй 22, третий 23 и четвертый 24 элементы И, счетчик 25 и регистр 26, причем вход установки триггера 20 в единичное состояние соединен с первыми входами первого 21 и второго 22 элементов И и является информационным входом БРЗ 4, вторые входы всех элементов И соединены между собой и являются входом инициализации БРЗ 4, первый вход третьего элемента И 23 является входом признака окончания оценки текущего размещения, первый же вход четвертого элемента И 24 соединен с первым входом установки в нулевое состояние триггера 20 и является входом признака окончания перестановки, вход установки в нулевое состояние счетчика 25 является входом сброса БРЗ 4, выход триггера 20 является информационным выходом БРЗ 4, а его сигнальным выходом является выход окончания счета счетчика 25, соединенный со вторым входом установки триггера 20 в нулевое состояние. При этом вход прямого счета счетчика 25 соединен с выходом элемента И 21, выход элемента И 22 соединен со входом обратного счета счетчика 25, вход параллельной загрузки которого соединен с выходом элемента И 23, информационные же входы счетчика 25 соединены с соответствующими выходами регистра 26, информационные входы которого соединены с соответствующими информационными выходами счетчика 25, а вход параллельной загрузки регистра 26 соединен с выходом элемента И 24. Each RHZ 4 (Fig. 2) contains a
Рассмотрим принцип действия и динамику работы устройства. Исходная матрица инцидентности размещается в блоке памяти таким образом, что обеспечивается параллельный доступ ко всем элементам некоторого столбца матрицы, являющегося разрядным срезом (см. фиг. 8). С учетом того, что цепи схемы, соответствующие строкам матрицы инцидентности, выступают в качестве подлежащих обработке слов данных (например, при подсчете длины цепи), такую структуру можно рассматривать как разрядно-последовательную пословно-параллельную. При этом каждый элемент матрицы представлен одним битом. В качестве блока памяти используется обычное ОЗУ с произвольной выборкой, включающее дешифратор адреса (см. фиг. 8). Consider the principle of operation and the dynamics of the device. The original incidence matrix is located in the memory block in such a way that parallel access to all elements of a certain column of the matrix is provided, which is a bit slice (see Fig. 8). Considering that the circuit chains corresponding to the rows of the incidence matrix act as data words to be processed (for example, when calculating the chain length), such a structure can be considered as a bit-sequential word-parallel. In addition, each matrix element is represented by one bit. As a memory block, conventional random access RAM is used, including an address decoder (see Fig. 8).
В целях упрощения изложения положим, что столбцы матрицы размещаются в блоке памяти, начиная с нулевого адреса в порядке возрастания их номеров. Варианты размещения аналогично прототипу формируются вне устройства. При этом для задания вариантов размещения принята следующая форма: последовательность двоичных кодов, где численное значение любого кода взаимно однозначно соответствует номеру элемента, а порядковый номер данного кода в последовательности - номеру позиции, в которую размещается данный элемент. Поскольку в вычислительной технике используются значения, включая нулевое, то примем, что значение кода в последовательности равно уменьшенному на единицу номеру соответствующего элемента. Если такую последовательность кодов (вариант размещения) подать на адресные входы блока памяти, то на выходах последнего будет сформировано соответствующее разрядно-последовательное представление матрицы. На фиг. 9 и 10 приведены примеры разрядно-последовательного представления матрицы инцидентности A(πr)8×6 для перестановок πr= (1,2,3,4,5,6) и πr= (2,1,3,6,5,4) соответственно (фактически на адресные входы блока памяти поступают двоичные эквиваленты перестановок, в данном случае (000,001,010,011,100,101) и (001,000,010,101,100,011)). При этом поступление каждого кода последовательности и, соответственно, считывание каждого разрядного среза синхронизируется импульсами CLK, поступающими на вход 13 синхронизации. Подчеркнем, что в процессе формирования разрядно-последовательного представления матрицы независимо от перестановки не происходит физического преобразования матрицы в блоке памяти.In order to simplify the presentation, we assume that the columns of the matrix are located in the memory block, starting from the zero address in ascending order of their numbers. Placement options similar to the prototype are formed outside the device. In this case, to set the placement options, the following form is adopted: a sequence of binary codes, where the numerical value of any code corresponds to the element number one-to-one, and the serial number of this code in the sequence corresponds to the position number in which this element is placed. Since values are used in computing, including zero, we assume that the code value in the sequence is equal to the unit number of the corresponding element reduced by one. If such a sequence of codes (placement option) is applied to the address inputs of the memory block, then the corresponding bit-sequence representation of the matrix will be generated at the outputs of the memory block. In FIG. Figures 9 and 10 show examples of a bit-sequential representation of the incidence matrix A (π r ) 8 × 6 for permutations π r = (1,2,3,4,5,6) and π r = (2,1,3,6, 5.4), respectively (in fact, the binary equivalents of permutations arrive in the address inputs of the memory block, in this case (000,001,010,011,100,101) and (001,000,010,101,100,011)). In this case, the arrival of each sequence code and, accordingly, the reading of each bit slice is synchronized by CLK pulses supplied to the synchronization input 13. We emphasize that in the process of forming a bit-sequential representation of the matrix, regardless of the permutation There is no physical transformation of the matrix in the memory block.
Перед началом работы блок 1 памяти устанавливается по входу 9 в режим записи и через шину 10 записи в него загружается матрица инцидентности исходного гиперграфа. После окончания загрузки матрицы блок 1 памяти по входу 5 переводится в режим чтения. Теперь путем подачи на вход 15 инициализации низкого уровня (логического нуля) устройство переводится в режим инициализации. В процессе инициализации формируются исходные данные, необходимые для основного рабочего режима, а именно определяется разветвленность Ch каждой цепи, представляющая собой число инцидентных данной цепи элементов. Таким образом, разветвленность h-й цепи может быть найдена как число единичных элементов в соответствующей строке матрицы инцидентности, т.е.Before starting work, the
Определение разветвленности для всех цепей осуществляется одинаково с помощью блоков 41...4m распознавания загрузки (см. фиг. 2) следующим образом. Единичным импульсом на входе 12 сброса обнуляется счетчик 25, а низкий уровень на входе 15 инициализации разрешает счетчику 25 только прямой счет, а регистру 26 - параллельную загрузку. При подаче на адресную шину 11 блока 1 памяти произвольной кодовой последовательности, содержащей адреса всех элементов без повторений (для простоты положим, что πr= (1,2,3,4,5,6)), на выходе блока 1 памяти будет формироваться соответствующее разрядно-последовательное представление матрицы инцидентности. При этом разрядно-последовательное представление h-й цепи будет иметься на информационном входе соответствующего БРЗ. Все единичные импульсы, соответствующие единичным элементам h-й строки, будут подсчитываться счетчиком 25 и по приходу сигнала окончания перестановки на вход 14 счетчик 25 будет содержать значение Ch. Данный процесс наглядно представлен диаграммами, приведенными на фиг. 3, где в качестве примера используется первая строка матрицы A(πr)8×6, приведенной на фиг. 5, для перестановки πr= (1,2,3,4,5,6). В данном примере С1 = 3 и именно таковым является содержимое счетчика 25 по приходу сигнала на вход 14 окончания перестановки. По этому сигналу производится запись содержимого счетчика 25 в регистр 26 и, таким образом, в этом регистре сохраняется значение разветвленности соответствующей цепи. По этому же сигналу триггер 20 устанавливается в нулевое состояние. На этом процесс инициализации заканчивается. При этом в регистре h-го БРЗ будет содержаться значение разветвленности h-й цепи, а на информационных и сигнальных выходах всех БРЗ будет низкий уровень.
The definition of branching for all circuits is carried out identically using
Основной рабочий режим, т. е. режим оценки размещения, активизируется единичным уровнем на входе 15 инициализации. При этом для счетчика 25 разрешаются обратный счет и параллельная загрузка, а параллельная загрузка регистра 26 блокируется элементом И 24. После этого устройство готово к приему на адресную шину 11 кодовой последовательности, соответствующей оцениваемому варианту размещения. Формирование разрядно-последовательного представления матрицы инцидентности для данного варианта размещения происходит так же, как и в режиме инициализации. Определение загруженности рабочего поля происходит следующим образом. До прихода на информационный вход БРЗ первого единичного сигнала его состояние не изменяется, а на информационном и сигнальном выходах БРЗ поддерживается низкий уровень (см. фиг. 4). По приходу на информационный вход БРЗ первого единичного сигнала он, поступая на вход установки в единичное состояние триггера 20, устанавливает его в единичное состояние. Этот же сигнал поступает на вход обратного счета счетчика 25 и уменьшает его содержимое на единицу. Аналогично процесс обработки повторяется при поступлении на информационный вход БРЗ очередного единичного сигнала за тем лишь исключением, что состояние триггера 20 уже не изменяется. При поступлении на информационный вход БРЗ последнего единичного сигнала, а для h-го БРЗ таких сигналов будет Ch, содержимое счетчика 25, уменьшаясь на единицу, становится равным нулю. При этом на его выходе окончания счета формируется единичный уровень, который, поступая на второй вход установки триггера 20 в нулевое состояние, устанавливает его в это состояние (см. фиг. 4), что соответствует окончанию обработки данной цепи. Одновременно единичный уровень с сигнального выхода БРЗ поступает на соответствующий вход элемента И 8, который срабатывает по окончании обработки всех цепей (для показанного на фиг. 4 случая все цепи оканчиваются по синхроимпульсу CLK5). На выходе элемента И 8 формируется единичный уровень, свидетельствующий об окончании оценки текущего размещения, который появляется и на входах признака окончания оценки текущего размещения всех БРЗ. Этот же единичный уровень поступает через элемент И 23 на вход параллельной загрузки счетчика 25, в результате чего содержимое регистра 26 копируется в счетчик 25 (для h-го БРЗ копируется значение Ch разветвленности h-й цепи). Как только содержимое счетчика 25 становится отличным от нуля, на его выходе окончания счета снова устанавливается нулевой уровень, в связи с чем на выходе элемента И 8 восстанавливается нулевой уровень (см. фиг. 4). На этом оканчивается обработка сформированного варианта размещения с помощью БРЗ, а сами эти блоки оказываются подготовленными к обработке очередного варианта размещения. Данные, полученные на информационном выходе БРЗ, интерпретируются следующим образом. Для цепи h на момент CLKt на информационном выходе h-го БРЗ формируется значение ωh(r1,r2,...,rt). Таким образом, если данные на информационных выходах всех БРЗ рассматривать совместно, то они соответствуют разрядно-последовательному представлению интервальной диаграммы матрицы для текущего варианта размещения. Для нахождения значения ω(r1,r2,...,rt) в соответствии с (2) необходимо просуммировать сигналы на информационных выходах всех БРЗ на момент времени CLKt. В связи с тем, что суммированию подлежат булевы значения, для их суммирования может быть использован блок 5 подсчета числа единиц, на выходе которого и формируется значение ω(r1,r2,...,rt), соответствующее моменту времени CLKt. Для нахождения загруженности рабочего поля d(πr) в соответствии с (1) используется блок 7 выделения максимума. По сигналу на входе 12 сброса этот блок подготавливается к работе, данные на информационном входе фиксируются с учетом синхроимпульсов CLKt на входе 13 синхронизации. Таким образом, блок 7 выделения максимума, имея на своем входе последовательность значений ω(r1,r2,...,rt), для t= 1,2,...,n-1 выделяет максимальное из них, которое в соответствии с (1) является значением загруженности рабочего поля d(πr) и выдает его на свой выход. По приходу на соответствующие управляющие входы блока 7 сигнала окончания перестановки либо сигнала окончания оценки текущего размещения блок 7 подготавливается к приему очередной последовательности данных.The main operating mode, i.e. the allocation evaluation mode, is activated by a single level at the
Для определения суммарной длины цепей LΣ(πr) в соответствии с (4) используется накапливающий сумматор 6. По сигналу на входе 12 сброса сумматор подготавливается к работе, данные на его информационном входе фиксируются с учетом синхроимпульсов CLKt на входе 13 синхронизации. Таким образом, в, сумматоре 6 накапливается сумма значений ω(r1,r2,...,rt) для t= 1,2,.,n-l и по окончании оценки текущего размещения, т.е. после поступления сигнала окончания оценки текущего размещения на выходе 19 либо сигнала окончания перестановки на входе 15 на выходе сумматора будет сформировано значение суммарной длины цепей LΣ(πr), a сам сумматор подготавливается к приему очередной последовательности данных. Для нахождения наибольшей длины цепи используются блоки 21, 22, . ..,2m подсчета длины цепи и блок 3 нахождения максимума. Каждый такой блок определяет длину соответствующей цепи, после чего блоком 3 нахождения максимума из них выделяется наибольшее значение, которое выдается на первый выход 16 оценки текущего размещения. Описанный процесс оценки аналогичным образом осуществляется для любого варианта размещения.To determine the total length of the circuits L Σ (π r ) in accordance with (4), an accumulating adder 6 is used. According to the signal at the input 12 of the reset, the adder is prepared for operation, data at its information input are recorded taking into account the CLKt clock pulses at the synchronization input 13. Thus, in, adder 6 accumulates the sum of the values of ω (r 1 , r 2 , ..., r t ) for t = 1,2,., Nl and at the end of the assessment of the current location, i.e. after the signal arrives at the end of the estimation of the current location at output 19 or the signal at the end of the permutation at
Использование совокупности существенных признаков изобретения позволяет расширить функциональные возможности устройства для оценки линейного размещения элементов за счет обеспечения возможности подсчета критерия загруженности рабочего поля размещения. Кроме того, предлагаемое устройство предоставляет потенциальную возможность повышения средней производительности при оценке размещения за счет использования сигнального выхода 19 окончания оценки текущего размещения. При появлении на этом выходе единичного сигнала внешнее устройство формирования вариантов размещения (перестановок) может прервать текущую перестановку и начать формирование следующей. Еще одним преимуществом предлагаемого устройства является исключение из состава устройства многовходового сумматора, являющегося сложным и медленно действующим элементом, за счет использования метода подсчета суммарной длины цепей на основе выражения (4), что позволяет использовать сумматор накапливающего типа. Using the set of essential features of the invention allows to expand the functionality of the device for assessing the linear placement of elements by providing the possibility of calculating the criterion of the workload of the working field of placement. In addition, the proposed device provides a potential opportunity to increase the average productivity in the evaluation of placement by using the signal output 19 of the end of the assessment of the current placement. When a single signal appears at this output, an external device for generating placement options (permutations) can interrupt the current permutation and begin forming the next one. Another advantage of the proposed device is the exclusion of the multi-input adder, which is a complex and slow-acting element, from the composition of the device due to the use of the method of calculating the total length of the circuits based on expression (4), which allows the use of an accumulator of accumulating type.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU99107942A RU2163028C2 (en) | 1999-04-13 | 1999-04-13 | Device for evaluating linear layout of components |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU99107942A RU2163028C2 (en) | 1999-04-13 | 1999-04-13 | Device for evaluating linear layout of components |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2163028C2 true RU2163028C2 (en) | 2001-02-10 |
RU99107942A RU99107942A (en) | 2004-02-20 |
Family
ID=20218674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU99107942A RU2163028C2 (en) | 1999-04-13 | 1999-04-13 | Device for evaluating linear layout of components |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2163028C2 (en) |
-
1999
- 1999-04-13 RU RU99107942A patent/RU2163028C2/en active
Also Published As
Publication number | Publication date |
---|---|
RU99107942A (en) | 2004-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4809161A (en) | Data storage device | |
RU98110876A (en) | NEUROPROCESSOR, DEVICE FOR CALCULATING SATURATION FUNCTIONS, COMPUTING DEVICE AND SUMMER | |
EP0427464B1 (en) | Asychronous leading zero counter employing iterative cellular array | |
CN109710213A (en) | A kind of sparse matrix accelerates to calculate method, apparatus, equipment and its system | |
US7610454B2 (en) | Address decoding method and related apparatus by comparing mutually exclusive bit-patterns of addresses | |
US5835428A (en) | Method of testing semiconductor memory and apparatus for carrying out the method | |
JPS5926059B2 (en) | control circuit | |
RU2163028C2 (en) | Device for evaluating linear layout of components | |
US4791599A (en) | Auto-correlation arrangement | |
US6732133B2 (en) | Montgomery multiplier with dual independent channels | |
RU170412U1 (en) | GENERATOR OF A RANDOM SEMI-MARKOV PROCESS WITH SYMMETRIC DISTRIBUTION LAWS | |
RU2024058C1 (en) | Device for estimating linear arrangement of elements | |
JPWO2004104819A1 (en) | Parallel processing apparatus and parallel processing method | |
US3564505A (en) | Digital data reordering system | |
RU2158955C1 (en) | Apparatus for selecting rational decisions | |
RU2130644C1 (en) | Device for information retrieval | |
EP0500383B1 (en) | Data processing system | |
RU2791419C1 (en) | Search device for degree of placement optimality in cluster multiprocessor systems | |
JP2758877B2 (en) | Timer / counter circuit | |
UA46877C2 (en) | CONVEYOR SUMMARY DEVICE | |
RU2029358C1 (en) | Associative unit for calculating shift of center of current image relatively center of standard image | |
SU370601A1 (en) | ALL-UNION I | |
RU2246755C1 (en) | Device for estimating level of approach of placement to optimal one | |
SU991421A1 (en) | Random number generator | |
SU1115049A1 (en) | Device for implementing walder algorithm |