MIME-Version: 1.0 Content-Location: file:///C:/A473A227/IPgrayCodeEng.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" IP =3D any count Gray Code Engines

IP =3D any count Gray Code Engines

 

IP is shorthand for “Intellectual Property,” in this instance; opposed to Internet Protocol or any other of a dozen common phrases that reduce to the same acronym.  Think of it as a for= m of proprietary, often “protected,” technology in one form or another.  Intellectual Propert= y is usually some form of very important design entity that warrants some form of copy protection due to its importance in the financial model of a particular company.  Intellectual Propert= y, of course, can gain Patent protection, by the complete divulging of all of the technology that is “unique.”&n= bsp; The other end of the spectrum includes the concept of “Trade Secret,” where there is no disclosure regarding detail implementation= of a particular design product, except those necessary to make use of the technical module.  Our use of = the term “intellectual property” is looser than normal in that it merely refers to a “unique” solution in sequential logic design= , our value-added feature, specifically the kind of counter at the root of st= ate machine engines.  It is not revolutionary, since any engineer could come up with the same results given= the need to pursue such possibilities.  It is evolutionary because it builds on the obvious, even though it = does so untraditionally.

 

In “Engineering-101= ,” we learn about Gray Code Counting.  The unique feature of Gray Code is that only 1 bit changes at a t= ime when moving from any state to the next.&nb= sp; While Sequential State Machines generally base their designs upon on= e or more counters, they are rarely ever based upon Gray Code Counters.  The school text books and function= al macro-library models only depict full-count boundaries for Gray Code counti= ng of 4, 8, 16, and 32 total state counts, based upon engines that are 2, 3, 4= , and 5 bits wide, respectively.  Th= is apparent limitation results in the misconception that total state machine counts can only be built using 4, 8, 16, or 32 counts, and that a 19-state machine has to use a 32 state counter, with 41% of the states being “null” or “no-op” states.

 

As Moore’s Law is ever tested, count= ers at the core of sequential state machines start to exhibit problems with race-conditions and metastable states as clock rates continue to increase.<= span style=3D'mso-spacerun:yes'>  The setup and hold times are quick= ly approaching the indiscernible.  A missed or erroneous main-counter state can be cause for engine-failure in high-speed designs.  The higher the clock= ing rates go, and the higher the number of simultaneously changing bit states, = the higher the instantaneous and average power become; and, the heat dissipatio= n climbs.  The more bits that are changing at= once, the greater the glitch energy becomes, including that which manifests as EMI and RFI.  These noise and heat “difficulties” can become extremely problematic for engines run= ning high-resolution data acquisition activities.  Faulty engine states and illegal sequences are completely unacceptable in most designs, presenting the need = for “safe” and “quiet” counters.

 

GUSTECH has developed a s= till-growing small library of “Gray” and “Quasi-Gray” Code engin= es over the years that serve as efficient, deterministic, fault-tolerant, and = ”quiet” bases for sequential state machines of various state lengths.  If the definition of a “Gray= ” Code Counter is “loosened” sufficiently to simply encompass the unique feature of “only 1 bit change when moving from any state to the next,” then this can be accomplished for any even-number count desired; not just the 2n binary boundaries.  Please allow us to define a “Quasi-Gray” Code Counter as one where “only 1 bit changes when moving from any state to the next, except for the last transition, whi= ch is the only time when a 2-bit change occurs.”  With this definition, we are able = to create a Gray Code Counter for = any odd-number count desired.  We prefer to use “Gray” or “Quasi-Gray” Code Counters as the basis of our sequential state machine engines.  We claim to be able to develop “any count” Gray Code Engines, any odd or even number of total states, by using these definitions of Gray and Quasi-Gray Code count sequen= ces.

 

We do not publicly publis= h our technique for counter development, nor the resultant sequences.  In this broad sense, our Gray and Quasi-Gray Code Engines’ designs fall under the wide umbrella of Intellectual Property.  Howeve= r, for any given engineering design contract, we do divulge complete details of th= ese engines when they are used, usually as embedded comments in the VHDL code implementing these designs.  S= ince the client is paying for this design, they own the design, including the un= ique sequence or sequences incorporated as a design solution for any given contr= act development.  They are incorporated license-free, as our value-added cont= ent, within the technical solution.

 

While textbook engineerin= g fails to consider this “outside-the-box” design solution, we feel it = is one of many ways to provide “creative technical solutions.R= 21;  Dropping unnecessary boundaries al= ways lead to innovative, and often enhanced, solutions.