Figure 1a is a block diagram of the first order section implemented by FOS. The filter may be multiplexed over multiple channels by providing sufficient for the storage of the filter state (represented by z−1). Figure 1b illustrates the architecture used internally to implement the filter.
The most area-intensive part of FOS (outside the state memory) is the scaler function. It is thus desirable to use as few scalers as possible. Two scalers are necessary to independently set the pole and zero locations. a minimum of two scalers are needed. Much of the flexibility of an input or output scaler has been provided without the additionaal complexity by simply routing the input through the feedback scaler.
FOS is an example of JK & M’s Type 2 multiplexing; i.e. there is a one-to-one correspondence between physical elements and functional blocks. The number of multiplex channels equals the number of timeslots, which equals the number of word times per sample time.
Timing definitions. The bit time is the length of time a particular binary value (1 or 0) remains on a given conductor, and is usually equal to one period of the system clock. Its inverse, the bit rate, is usually equal to the clock frequency. Some number (the word length) of bit times constitute one word time, whose inverse is called the word rate. Because our serial arithmetic circuits process the least significant bit first, the first bit time during each word time is designated the LSB time, and is usually indicated by a ‘‘true’’ signal on a conductor by that name. Successive samples from a particular channel occupy a periodic sequence of (noncontiguous) word times called a timeslot; samples from other channels occupy the intervening timeslots. The period of repetition is called the sample time; its inverse is the sample rate or frame rate. The number of channels is called the multiplex factor. The number of bit times per sample time is called the frame length. This discussion assumes that all words have the same length, that each word is followed immediately by a word from another channel with no intervening bits, and so the frame length equals the multiplex factor times the word length. Although there are notable exceptions to these assumptions (e.g. the Bell T1 specification), they do simplify the following discussion of Parrot.
Because operators have nonzero throughput delay, the same timeslot is phased differently (occurs at different real times) at different points in the circuit. If an operator (e.g. an adder or a shift register) has a throughput delay of N bits, then a given timeslot at its output will occur N bit times after the same timeslot at its input. Implementation block diagrams of such circuits label each operator and each conductor with a parenthesized number. The label on an operator, called a delay number, indicates the throughput delay of that operator, in bit times. The number on a conductor, called an offset number, indicates when a given timeslot occurs on that conductor, as a number of bit times after that timeslot occurs at a reference point. It follows that the offset number at the output of an operator equals the offset number at its input plus its delay number. The delay number of a given operator is unique, but the offset numbers on all nodes in a given device may be increased or decreased by a constant, depending on which node is chosen as the reference. By convention, within a diagram for a given device its input is assigned an offset number of zero.
FOS and Synth are both designed around a fixed word length of 24 bits. For FOS, the multiplex factor is variable, and is set by the loop delay in computing the ‘‘next state’’ as a function of the ‘‘present state’’. The minimum, 2, is set by the delay through the arithmetic section, which is internally padded to 48 bits (two words). The VariReg30 memory internal to FOS may be used to provide an additional delay of from 2 to 30 24-bit words, resulting in a multiplex factor from 4 to 32. (With an external memory, an arbitrarily large multiplex factor could be attained, subject to the requirement that the chip be aple to operate at a clock rate equal to the frame length times the sample rate.) In Synth, the multiplex factor is fixed at 22. Thus in Parrot FOS also uses the same multiplex factor 22.