БЫСТРОДЕЙСТВУЮЩИЙ МНОГОРАЗРЯДНЫЙ УПРАВЛЯЕМЫЙ СЧЕТЧИК-ДЕЛИТЕЛЬ

Полезная модель относится к цифровой технике, в частности к быстродействующим многоразрядным счетчикам и может быть использована в составе цифровых и смешанных интегральных схем или как отдельное устройство в качестве управляемого счетчика-делителя при высоких требованиях к быстродействию, диапазону регулирования коэффициента деления и аппаратурным затратам.
Известен быстродействующий управляемый счетчик, содержащий регистр сдвига, имеющий выход данных, вход последовательных данных DS, вход начальной установки и вход синхронизации С, комбинационный дешифратор, вход которого подключен к выходу данных регистра сдвига. Состояние такого счетчика характеризуется положением логической единицы на одном из выходов цепочки триггеров, на выходах остальных триггеров поддерживается нулевой логический уровень. С каждым тактом уровень единицы перемещается с выхода одного триггера на выход соседнего, пока не дойдет до крайнего триггера регистра сдвига. В этом состоянии регистр сдвига может быть переведен в режим параллельной записи с тем, чтобы в очередном такте записать логическую единицу только в один из триггеров регистра сдвига, обнулив другие, после чего процесс повторяется циклически. Дешифратор преобразует состояния регистра сдвига в двоичные коды (см. патент РФ №2128878, по МКИ Н 03 К 23/00, опубликован 10.04.1999 г.).
Недостаток аналога в том, что число разрядов регистра сдвига равно числу состояний счетчика и находится в степенной зависимости от разрядности выходной шины комбинационного дешифратора. Сложность комбинационного дешифратора и задержка в нем резко возрастают с увеличением этой разрядности.
Наиболее близким по технической сущности является быстродействующий многоразрядный управляемый счетчик-делитель, представляющий собой n-разрядный счетчик, выполненный на генераторе псевдослучайной последовательности, который состоит из регистра сдвига, имеющего выход данных, соединенный с выходной шиной Ко, вход последовательных данных DS, вход начальной установки и вход синхронизации С, соединенный с входной шиной тактовой синхронизации Т, а также из сумматора по модулю два, все q входов которого соединены с определенными разрядами на выходе данных регистра сдвига, комбинационного дешифратора конечного состояния, вход которого подключен к выходу данных первого регистра сдвига (см. ЕР 0340694 А2, МКИ G 06 F 11/26.)
Недостаток прототипа в том, что с ростом n сложность комбинационного дешифратора конечного состояния возрастает, а его быстродействие уменьшается. Кроме того невозможна перестройка коэффициента счета.
В основу полезной модели положена задача создания счетчика-делителя превосходящего по быстродействию, диапазону регулирования и аппаратурным затратам известные аналоги.
Поставленная задача решается тем, что быстродействующий многоразрядный управляемый счетчик-делитель, представляющий собой n-разрядный счетчик, выполненный на генераторе псевдослучайной последовательности, и состоящий из первого регистра сдвига, имеющего выход данных, соединенный с выходной шиной Ко, вход последовательных данных DS, вход начальной установки и вход синхронизации С, соединенный с входной шиной тактовой синхронизации Т, а также из первого сумматора по модулю два, все q входов которого соединены с определенными разрядами на выходе данных первого регистра сдвига, дешифратора в виде комбинационного дешифратора конечного состояния, вход которого подключен к выходу данных первого регистра сдвига,
согласно полезной модели дополнительно содержит первый элемент ИЛИ, входную шину Ki, шину управления V, шину начальной установки R и шину выходных стробов Р. В первый регистр сдвига добавлен вход параллельных данных D, а вход начальной установки этого регистра заменен на вход записи WR. Дешифратор выполнен в виде дешифратора конечного состояния, представляющего собой m-разрядный счетчик, выполненный на генераторе псевдослучайной последовательности, и состоящий из второго регистра сдвига, второго сумматора по модулю два, дешифратора режима, второго элемента ИЛИ и комбинационного дешифратора, выполненного на элементе И. Выход первого сумматора по модулю два соединен непосредственно с входом последовательных данных DS первого регистра сдвига, вход параллельных данных D второго регистра сдвига соединен с выходом дешифратора режима, вход записи WR этого регистра соединен с выходом второго элемента ИЛИ, а вход последовательных данных DS - с выходом второго сумматора по модулю два, все г входов этого сумматора соединены с определенными разрядами на выходе данных второго регистра сдвига, m-1 крайних разрядов на выходе данных этого регистра соединены с инвертирующими входами элемента И. Не инвертирующий вход элемента И соединен с первым входом второго элемента ИЛИ и с первым по сдвигу разрядом на выходе данных первого регистра сдвига. Выход элемента И соединен с шиной выходных стробов Р и первым входом первого элемента ИЛИ. Вторые входы обоих элементов ИЛИ соединены с шиной начальной установки R. Выход первого элемента ИЛИ соединен с входом записи WR первого регистра сдвига, а вход параллельных данных этого регистра соединен с входной шиной Ki. Вход дешифратора режима соединен с шиной управления V, а вход синхронизации С второго регистра сдвига соединен с шиной тактовой синхронизации Т.
Предлагаемый быстродействующий многоразрядный управляемый счетчик-делитель содержит комбинационный дешифратор, на элементе И, но
2
с числом входов m равным ближайшему целому не меньшему logn, что гораздо меньше n. Например, при n=128 число входов дешифратора всего лишь 7, что позволяет сделать его весьма быстрым. Примитивные многочлены для генераторов псевдослучайной последовательности выбираются с минимальным числом ненулевых коэффициентов, т.е. число входов сумматоров по модулю два получается небольшим, обычно не более четырех. При таком подходе удается сократить до минимума аппаратурные затраты, особенно при больших n.
Такая структура позволяет обеспечить высокое быстродействие, даже при разрядности более сотни, при минимуме аппаратурных затрат. Это возможно благодаря очень простой комбинационной части и, как следствие, малым задержкам в ней. Каждый последующий код, генерируемый n-разрядным счетчиком, не является результатом инкремента или декремента предыдущего кода, а представляет собой остаток от деления на многочлен. Однако, исходя из свойств псевдослучайной последовательности, каждый из генерируемых последовательно n-разрядных кодов является единственным в течение цикла счета или его части. Таким образом, массиву кодов генерируемых предлагаемым счетчиком может быть сопоставлен эквивалентный массив кодов, генерируемый двоичным счетчиком. Порядок следования кодов в некоторых случаях не имеет значения, если он повторяется от цикла к циклу, например, при последовательной адресации памяти, поэтому возможность применения устройства в качестве счетчика не исключается. Коэффициент счета в этом случае может быть установлен следующим
n
Кс=1,2,3,...2-1,
где Кс - коэффициент счета. Как делитель устройство может иметь диапазон коэффициентов деления
n
Кд=1,2,3,...,2+n-2,
где Кд - коэффициент деления. Установкой соответствующего коэффициента задается цикл счета n-разрядного счетчика. Расширенный диапазон Кд
n
возможен за счет использования свойств дешифратора конечного состояния, но при значениях коэффициента больших 2-1, на выходе n-разрядного счетчика, в пределах его цикла счета, появляются повторения некоторых кодов, что для делителя не существенно.
14
l4
14
n
Для задания Кд или Кс необходимо сопоставить каждому коэффициенту деления или коэффициенту счета соответствующий код, который будет подан на входную шину Ki. Одним из способов является предварительное вычисление таблицы соответствия и размещение ее в памяти управляющей ЭВМ. В процессе управления код, соответствующий заданному Кд или Кс, извлекается из таблицы и размещается на входной шине Ki. Другой способ предполагает вычисление заданного кода или кодов в процессе управления. Это делается, например, методом моделирования. Исходной точкой является код конца счета, который известен. Для многоразрядного счетчика-делителя оба способа не приемлемы. В одном случае таблица соответствия получается слишком большой и ее не возможно разместить в памяти ЭВМ, или не целесообразно, в другом - среднее время вычисления кода неоправданно велико. Поэтому предлагается совместное использование обоих способов. Вместо одной точки для начала моделирования предварительно вычисляется множество равномерно отстоящих друг от друга по тактам точек, возможно кроме последней. Например, вычисляются коды для Kд=l,l+1·2, l+2·2, l+3·2,..., 2+n-2. Коды, соответствующие промежуточным Кд, вычисляются непосредственно в процессе управления, используя ближайшие к требуемым Кд табличные значения. Таким образом, изменяя объем таблицы и оценивая среднее время вычисления кода промежуточного Кд, можно найти рациональное соотношение между этими параметрами.
На чертеже приведена функциональная схема предлагаемого быстродействующего многоразрядного управляемого счетчика-делителя.
Быстродействующий многоразрядный управляемый счетчик-делитель, представляет собой n-разрядный счетчик, выполненный на генераторе псевдослучайной последовательности, и состоит из первого регистра сдвига 1, выход данных которого соединен с выходной шиной Ко, а вход синхронизации С соединен с входной шиной тактовой синхронизации Т, первого сумматора по модулю два 2, все q входов которого соединены с определенными разрядами на выходе данных первого регистра сдвига 1, первого элемента ИЛИ 3, входной шины Ki, шины управления V, шины начальной установки R, шины выходных стробов Р. Предлагаемый счетчик-делитель содержит также дешифратор конечного состояния 4, представляющий собой m-разрядный счетчик, выполненный на генераторе псевдослучайной последовательности, и состоящий из второго регистра сдвига 5, второго сумматора по модулю два 6, дешифратора режима 7, второго элемента ИЛИ 8 и комбинационного дешифратора, выполненного на элементе И 9. Выход первого сумматора по модулю два 2 соединен непосредственно с входом последовательных данных DS первого регистра сдвига 1, вход параллельных данных D второго регистра сдвига 5 соединен с выходом дешифратора режима 7, вход записи WR этого регистра соединен с выходом второго элемента ИЛИ 8, а вход последовательных данных DS - с выходом второго сумматора по модулю два 6, все r входов этого сумматора соединены с определенными разрядами на выходе данных второго регистра сдвига 5, m-1 крайних разрядов на выходе данных этого регистра соединены с инвертирующими входами элемента И 9. Не инвертирующий вход элемента И 9 соединен с первым входом второго элемента ИЛИ 8 и с первым по сдвигу разрядом на выходе данных первого регистра сдвига 1. Выход элемента И 9 соединен с шиной выходных стробов Р и первым входом первого элемента ИЛИ 3. Вторые входы обоих элементов ИЛИ соединены с шиной начальной установки R, выход первого элемента ИЛИ 3 соединен с входом записи WR первого регистра сдвига 1, а вход параллельных данных этого регистра соединен с входной шиной Ki. Вход дешифратора режима 7
соединен с шиной управления V, а вход синхронизации С второго регистра сдвига 6 соединен с шиной тактовой синхронизации Т.
Быстродействующий многоразрядный управляемый счетчик-делитель работает следующим образом.
n
В исходном состоянии на шине начальной установки R высокий уровень. Следовательно, на выходах обоих элементов ИЛИ так же высокий уровень. Это приводит к установке, по первому же текущему такту, обоих регистров сдвига в начальное состояние и поддержание их в этом состоянии последующими тактами. В первый регистр сдвига 1 заносится начальный код счета, а во второй регистр сдвига 5 - или начальный код счета, если уровень на шине управления V низкий, или нулевой код, в противном случае. В данном состоянии можно изменять коэффициент деления Кд, подавая соответствующий код на входную шину Ki. При этом необходимо придерживаться правила, когда Кд=1...(n-1) уровень на шине управления V должен быть высоким, когда Кд=n...(2+n-2) он должен быть низким.
n
Если ограничиться Кд=n≥(2+n-2), то шину управления V и дешифратор режима 7 можно исключить, подав на вход параллельных данных D второго регистра сдвига 6 код начального состояния, неизменный при выбранном n. Увеличение минимального значения Кд до n в данном случае происходит потому, что принцип дешифрации конечного состояния n-разрядного счетчика основан на подсчете числа тактов в течение которых на одном из разрядов на выходе первого регистра сдвига 1 присутствует низкий уровень. Из свойств псевдослучайной последовательности известно, что только в одном месте замкнутого цикла псевдослучайной последовательности может находиться n-1 нулевых бит расположенных рядом. Поскольку очередной код на выходе регистра любого генератора псевдослучайной последовательности получается путем поразрядного сдвига предыдущего кода и заполнения опустевшего разряда новым битом, то
дешифрация конечного состояния осуществляется по изложенному выше принципу. Необходимо, чтобы на вход дешифратора конечного состояния 4 n-1 такт подряд подавался низкий уровень, тогда в следующем такте будет сформирован строб начальной загрузки, он же выходной строб Р. Следовательно, минимальное количество тактов, необходимое для фиксации конечного состояния n-разрядного счетчика, должно быть равно n. Например, при n=5 минимальная последовательность состояний регистра n-разрядного счетчика, включая состояние при котором формируется строб, должна быть такой
01ХХХ
001ХХ
0001Х
00001
10000,
й
й
й
й
n
n
n
n
n
где Х - уровень, не имеющий в данном случае значения, 0 - низкий уровень, 1 - высокий уровень, 01ХХХ - код начального состояния соответствующий Кд=5, 10000 - код конечного состояния, состояния показаны в бинарном коде. Здесь источником для дешифратора конечного состояния является крайний левый разряд, в течение первых n-1 тактов фиксируется низкий уровень, в течение следующего такта формируется строб начальной загрузки. Таким образом, минимальный цикл счета равен n. Если в качестве кода начального состояния использовать код, показанный во 2, 3, 4 или 5строке примера, то Кд будет равен соответственно 2-1+4=35, 2-1+3=34, 2-1+2=33 или 2-1+1=32, а не 4, 3, 2 или 1 если бы использовался обычный комбинационный дешифратор конечного состояния. Это происходит потому, что предлагаемый дешифратор конечного состояния 4 не успеет в этих случаях зафиксировать конечное состояние к моменту установки кода 10000. По каждому такту, сопровождаемому высоким уровнем на входе дешифратора конечного состояния 4, он сбрасывается и сможет зафиксировать конечное состояние, только пропустив дополнительно полный цикл счета n-разрядного счетчика равный 2-1. Такое допустимо, если
n
устройство используется как делитель, но если оно используется как счетчик, то максимальное значение Кс должно быть ограничено величиной 2-1.
Для того, чтобы реализовать Кд=1...(n-1) наличие шины управления V необходимо. В этом случае на нее подается высокий уровень, что вызывает генерацию нулевого кода на входе параллельных данных D второго регистра сдвига 5. Это способствует переводу дешифратора конечного состояния 4 в пассивное состояние и фактически отключает его. Дешифрация конца счета n-разрядного счетчика при указанных Кд возможна только по сигналу с выхода первого по сдвигу разряда первого регистра сдвига 1. В этих условиях при достижении конца счета там впервые в течение цикла появляется высокий уровень, о чем свидетельствует приведенный выше пример, строки 2...5, или он там постоянно присутствует, когда Кд=1.
Рабочий режим начинается с подачи на шину начальной установки R низкого уровня. Смена уровня должна происходить в промежутке между двумя положительными перепадами синхросигнала на шине тактовой синхронизации Т, т.к. все входы быстродействующего многоразрядного управляемого счетчика-делителя синхронные. Поскольку первый регистр сдвига 1 теперь переведен в режим сдвига, то на его выходе с каждым тактом происходит смена кодов. Если дешифратор конечного состояния 4 не отключен, то m-разрядный счетчик может перейти в состояние конца счета только когда на входе записи WR второго регистра сдвига 5 в течение n-1 тактов подряд присутствует низкий уровень. Пока цикл n-разрядного счетчика не завершен, этого не может произойти из-за достаточно частого появления на входе записи WR второго регистра сдвига 5 m-разрядного счетчика высокого уровня, в результате чего он каждый раз устанавливается в начальное состояние, не успевая достичь своего состояния конца счета. К тому моменту, когда n-разрядный счетчик установится в конечное состояние, на выходе второго регистра сдвига 5 m-разрядного счетчика успеет появиться код конца счета, т.к. перед этим он n-1 такт подряд находился в состоянии сдвига. Это обнаруживается при помощи элемента И 9, на его m-1
инвертирующих входах должны установиться низкие уровни, а на не инвертирующем входе - высокий уровень. Последнее обстоятельство объясняет приведенный выше пример, пятая строка. При малых Кд, когда дешифратор конечного состояния 4 отключен, на инвертирующих входах элемента И 9 принудительно удерживается низкий уровень и дешифрация конечного состояния возможна только по оставшемуся входу, что в данном случае достаточно. На выходе элемента И 9 и на шине выходных стробов Р формируется положительный перепад выходного строба. Через первый элемент ИЛИ 3 он попадает на вход записи WR первого регистра сдвига 1 n-разрядного счетчика. На входе записи WR второго регистра сдвига 5 дешифратора конечного состояния 4 тоже установлен высокий уровень. Он подается через второй элемент ИЛИ 8 по той же цепи, что подходит к не инвертирующему входу элемента И 9. Очевидно, что с приходом очередного такта в регистры сдвига обоих счетчиков загрузятся соответствующие начальные коды, что приведет к установке на шине выходных стробов Р низкого уровня и формированию отрицательного перепада выходного строба. Далее описанный процесс будет циклически повторяться, но он может быть остановлен на любом такте подачей высокого уровня по шине начальной установки R. В частном случае, когда Кд или Кс равен единице, на шине выходных стробов Р постоянно удерживается высокий уровень, а код на выходной шине Do не меняется и соответствует коду конечного состояния, что вытекает из логики работы устройства.
Смена Кд или Кс возможна непосредственно во время работы быстродействующего многоразрядного управляемого счетчика-делителя, в промежутках между положительными перепадами тактового синхросигнала, сопровождаемыми выходными стробами. Возможность динамического изменения этих параметров от цикла к циклу расширяет область применения устройства.
Предлагаемый быстродействующий многоразрядный управляемый счетчик-делитель превосходит по быстродействию, диапазону регулирования и аппаратурным затратам известные аналоги.