Synthesis of Binary Ring Counters of Given Periods
暂无分享,去创建一个
A number of papers have been written from time to time about logical counters of a certain type which have quite simple logic and have been variously referred to as Binary Ring Counters, Shift Register Counters, Johnson Counters, etc. To my knowledge, most of these papers confine themselves to certain special cases and usually leave the subject with some speculation as to the possibility of generating periods of any desired length by the use of these special types. The point of view of this paper is to consider all possible counters of this general type to see how one would obtain a particular period. Special emphasis is placed on determining the least number of bits, <italic>n</italic>, required to produce a given period, <italic>K</italic>.
The rules for counting are as follows. If an <italic>n</italic>-bit counter is in state (<italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>, <italic>a</italic><subscrpt><italic>n</italic>-2</subscrpt> ···, <italic>a</italic><subscrpt>2</subscrpt>, <italic>a</italic><subscrpt>1</subscrpt>, <italic>a</italic><subscrpt>0</subscrpt>) at a given time, <italic>T</italic>, then at <italic>T</italic> + 1 its state is (<italic>b</italic><subscrpt><italic>n</italic>-1</subscrpt>, <italic>b</italic><subscrpt><italic>n</italic>-2</subscrpt>, ···, <italic>b</italic><subscrpt>1</subscrpt>, <italic>b</italic><subscrpt>0</subscrpt>) where <italic>b</italic><subscrpt>0</subscrpt> = <italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>, <italic>b<subscrpt>i</subscrpt></italic> = <italic>a</italic><subscrpt><italic>i</italic>-1</subscrpt> + <italic>c<subscrpt>i</subscrpt></italic><italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt> for <italic>i</italic> = 1, 2, ···, <italic>n</italic> - 1.
The <italic>a</italic>'s, <italic>b</italic>'s, and <italic>c</italic>'s are all 0's or 1's, the <italic>c</italic>'s being constants, and the indicated operations are carried out using modulo 2 arithmetic. This is equivalent to considering the state of the counter as an (<italic>n</italic> - 1)th degree polynomial in <italic>X</italic>, multiplying said polynomial by <italic>X</italic> and reducing it modulo <italic>m</italic>(<italic>X</italic>), where <italic>m</italic>(<italic>X</italic>) is a polynomial of degree <italic>n</italic> which is relatively prime to <italic>X</italic>. At time <italic>T</italic> the state of the counter corresponds to: <italic>A</italic>(<italic>X</italic>) = <italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-1</supscrpt> + <italic>a</italic><subscrpt><italic>n</italic>-2</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-2</supscrpt> + ··· + <italic>a</italic><subscrpt>1</subscrpt><italic>X</italic> + <italic>a</italic><subscrpt>0</subscrpt>. The polynomial which corresponds to the state of the counter at time <italic>T</italic> + 1 is obtained by forming <italic>X</italic>·<italic>A</italic> (<italic>X</italic>) and reducing, if necessary, modulo <italic>m</italic> (<italic>X</italic>) = <italic>X<supscrpt>n</supscrpt></italic> + <italic>c</italic><subscrpt><italic>n</italic>-1</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-1</supscrpt> + <italic>c</italic><subscrpt><italic>n</italic>-2</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-2</supscrpt> + ··· + <italic>c</italic><subscrpt>1</subscrpt><italic>X</italic> + 1.
Since <italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>·<italic>m</italic>(<italic>X</italic>) = 0 mod <italic>m</italic>(<italic>X</italic>), <italic>X</italic>·<italic>A</italic>(<italic>X</italic>) = <italic>X</italic>·<italic>A</italic>(<italic>X</italic>)+ <italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt><italic>m</italic>(<italic>X</italic>) mod <italic>m</italic>(<italic>X</italic>), so <italic>X</italic>·<italic>A</italic>(<italic>X</italic>) = (<italic>a</italic><subscrpt><italic>n</italic>-2</subscrpt> + <italic>c</italic><subscrpt><italic>n</italic>-1</subscrpt>·<italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>)<italic>X</italic><supscrpt><italic>n</italic>-1</supscrpt> + (<italic>a</italic><subscrpt><italic>n</italic>-3</subscrpt> + <italic>c</italic><subscrpt><italic>n</italic>-2</subscrpt><italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>)<italic>X</italic><supscrpt><italic>n</italic>-2</supscrpt> + ··· + (<italic>a</italic><subscrpt>0</subscrpt> + <italic>c</italic><subscrpt>1</subscrpt><italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt>)<italic>X</italic> + <italic>a</italic><subscrpt><italic>n</italic>-1</subscrpt> = <italic>b</italic><subscrpt><italic>n</italic>-1</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-1</supscrpt> + <italic>b</italic><subscrpt><italic>n</italic>-2</subscrpt><italic>X</italic><supscrpt><italic>n</italic>-2</supscrpt> + ··· + <italic>b</italic><subscrpt>1</subscrpt><italic>X</italic> + <italic>b</italic><subscrpt>0</subscrpt>.
It is well known that more than one possible period may be obtained depending upon the initial state of the counter. Several examples are given by Young [4]. However, starting with <italic>X</italic> itself will always yield the longest possible period for any given <italic>m</italic>(<italic>X</italic>) and, furthermore, any other periods possible will always be divisors of the major period (Theorem I below). Since these minor periods can always be obtained with moduli of lower degree they are of no real interest here, and throughout the remainder of this paper the expression “period of the counter” will be assumed to refer to the major period.
The set of all polynomials whose coefficients are the integers modulo 2 is the polynomial domain <italic>GF</italic>(2, <italic>X</italic>), which has among other things unique factorization into primes (irreducibles). If <italic>m</italic>(<italic>X</italic>) is in <italic>GF</italic>(2, <italic>X</italic>), then <italic>GF</italic>(2, <italic>X</italic>) modulo <italic>m</italic>(<italic>X</italic>) is a commutative ring. Thus it is closed under multiplication, but it may have proper divisors of zero. However, any element which is relatively prime to <italic>m</italic>(<italic>X</italic>) in <italic>GF</italic>(2, <italic>X</italic>) has an inverse in <italic>GF</italic>(2, <italic>X</italic>)/<italic>m</italic>(<italic>X</italic>) [1].
[1] L. Dickson. Linear Groups, with an Exposition of the Galois Field Theory , 1958 .
[2] Frederick H. Young. Analysis of Shift Register Counters , 1958, JACM.
[3] L. Dickson. History of the Theory of Numbers , 1924, Nature.