Устройство перепаковки потоков для вывода данных
Иллюстрации
Показать всеИзобретение относится к цифровым системам обработки сигналов и предназначено для перепаковки потоков данных. Достигаемый технический результат - осуществление перепаковки данных при любом числе выходных потоков от 1 до 8 и без необходимости жесткой синхронизации выходных потоков по тактовым частотам. Устройство перепаковки потоков для вывода данных содержит логический блок, 64-разрядный регистр FIFO, входы которого соединены с соответствующими выходами контроллера системной шины ПЭВМ, соединенного с системной шиной. Логический блок содержит демультиплексор, регистр-фиксатор с 448 ячейками, адаптивный мультиплексор, 8 объединителей потоков данных и блок управления. 3 ил.
Реферат
Изобретение относится к цифровым системам обработки сигналов и предназначено для перепаковки потоков данных.
При обработке информации на компьютерах часто возникает задача вывода данных по нескольким каналам, причем их число может оперативно меняться, например, от одного до восьми, что требует перепаковки данных.
Известны и широко используются такие устройства перепаковки потоков данных, как мультиплексоры и демультиплексоры [1], реализуемые на специализированных интегральных схемах или на ПЛИС.
Также в качестве аналогов можно привести выделенные схемные компоненты OSERDES, входящие в состав ПЛИС семейства Virtex4 фирмы Xilinx [2]. Их основным элементом являются сдвиговые регистры. Компонент OSERDES предусматривает перепаковку из 2-8 потоков в 1 поток. Эти схемные компоненты имеют существенные недостатки. Эти компоненты принципиально требуют жесткой синхронизации входных и выходных потоков. Для их работы требуются две кратные тактовые частоты. Для OSERDES выходная тактовая частота должна быть в 2-8 раз больше входной (в зависимости от числа входных потоков). Эти компоненты обеспечивают лишь сбор нескольких потоков, формируемых в ПЛИС, в единый выходной поток. Однако эти компоненты не обеспечивают решение задачи вывода нескольких параллельных потоков.
В качестве наиболее близкого к заявленному технического решения можно привести устройство, содержащее микросхемы SN74LV165 фирмы Texas Instruments [3], которые позволяют выполнить перепаковку сигналов из 8 потоков в один, логический блок с входом тактового сигнала и восемью выходами вовне, 64-разрядный регистр FIFO, имеющий вход управления и входы, соединенные с соответствующими выходами контроллера системной шины, соединенного с системной шиной ПЭВМ.
В известном устройстве на входы подается тактовый сигнал, частота которого соответствует частоте выводимых данных. Контроллер системной шины компьютера передает данные от системной шины в регистр FIFO.
Далее с помощью восьми микросхем SN74LV165 64-разрядные данные объединяются в 8 потоков и подаются на выходы устройства. Для синхронизации работы микросхем SN74LV165 и чтения данных из регистра FIFO используется тактовый сигнал частотой в 1/8 от частоты входного тактового сигнала, вырабатываемый счетчиком.
Недостатком этого устройства является фиксированная структура перепаковки.
Техническим результатом настоящего изобретения является осуществление перепаковки при любом числе выходных потоков от 1 до 8 и без необходимости жесткой синхронизации выходных потоков по тактовым частотам.
Предлагается устройство перепаковки потоков данных, решающее задачу путем промежуточного преобразования единого 64-разрядного потока в несколько выходных потоков данных, количество которых может меняться от 1 до 8. Такой поток пригоден для обмена данных с буфером контроллера системной шины ПЭВМ, что и обеспечивает вывод данных из ПЭВМ.
Технический результат достигается тем, что в предлагаемом устройстве перепаковки потоков для вывода данных, имеющем логический блок с входом тактового сигнала и восемью выходами вовне, 64-разрядный регистр FIFO, входы которого соединены с соответствующими выходами контроллера системной шины ПЭВМ, соединенного с системной шиной, согласно изобретению в логический блок введены демультиплексор, регистр-фиксатор с 448 ячейками, адаптивный мультиплексор, 8 объединителей потоков данных, блок управления, при этом входная 64-разрядная шина демультиплексора соединена с соответствующей выходной шиной регистра FIFO, входы регистра-фиксатора объединены в шины по 64 разряда, которые соединены с соответствующими выходами демультиплексора, а выходы регистра-фиксатора соединены с входами адаптивного мультиплексора, 32 входа объединителей потоков данных соединены с 32 выходами адаптивного мультиплексора, а выходы объединителей соединены с соответствующими выходами данных, на один вход блока управления подается тактовый сигнал, на другой вход подается сигнал, соответствующий числу выходных каналов, которое может меняться от 1 до 8; причем с выходов блока управления на вход управления регистра FIFO подается сигнал разрешения чтения, на входы управления демультиплексора подается сигнал адресации 64-разрядных групп данных, на входы управления регистра-фиксатора подается задержанный сигнал разрешения чтения и сигнал адресации 64-разрядных групп записи в регистр-фиксатор, на вход управления адаптивного мультиплексора подается сигнал адресации, на входы управления объединителей данных подаются сигналы входной тактовой частоты и четверти входной тактовой частоты.
Дальнейшее описание поясняется с помощью следующих чертежей.
Фиг.1 - структурная схема предлагаемого устройства для вывода данных.
Фиг.2 - структурная схема блока управления выводом.
Фиг.3 - временные диаграммы работы предлагаемого устройства для случая вывода данных по 5 каналам.
Устройство может быть реализовано следующим образом. Устройство перепаковки потоков для вывода данных содержит логический блок 1 с входом тактового сигнала Clk, входом для числа выходных каналов NC, восемью выходами данных Data_out1…Data_out8 и выходом тактового сигнала Clk_out, 64-разрядный регистр FIFO 2, входы которого соединены с соответствующими выходами контроллера системной шины 3, соединенного с системной шиной ПЭВМ 4. Логический блок 1 содержит демультиплексор 5, регистр-фиксатор 6 с 448 ячейками, адаптивный мультиплексор 7, 8 объединителей 8…15 потоков данных, блок управления 16, при этом входная 64-разрядная шина демультиплексора 5 соединена с соответствующей выходной шиной D_fifo регистра FIFO 2, входы регистра-фиксатора 6 объединены в шины Gr1…Gr7 по 64 разряда, которые соединены с соответствующими выходами демультиплексора 5, а выходы D_Рег регистра-фиксатора 6 соединены с входами адаптивного мультиплексора 7, 8 4-разрядных входов Gr1_out…Gr8_out объединителей потоков данных 8…15 соединены с соответствующими выходами адаптивного мультиплексора, а выходы объединителей 8…15 соединены с соответствующими выходами данных Data_out1…Data_out8, на один вход блока управления 16 подается тактовый сигнал Clk, на другой вход подается сигнал NC, соответствующий числу выходных каналов, которое может меняться от 1 до 8; причем с выходов блока управления на вход управления регистра FIFO 2 подается сигнал разрешения чтения RE, на входы управления демультиплексора 5 подается сигнал Ad_ДМП адресации 64-разрядных групп данных Gr1…Gr7, на входы управления регистра-фиксатора 6 подается задержанный сигнал разрешения чтения RE_d и сигнал адресации Ad_Peг 64-разрядных групп записи в регистр-фиксатор 6, на вход управления адаптивного мультиплексора 7 подается сигнал адресации Ad_МП, на входы управления объединителей данных 8…15 подаются сигналы входной тактовой частоты Clk_out и четверти входной тактовой частоты Clk/4.
На входы устройства подаются данные от системной шины ПЭВМ, код числа каналов вывода (от 1 до 8) и тактовый сигнал Clk.
Логический блок 1 обеспечивает преобразование 64-разрядного потока данных, получаемого путем последовательного вывода данных из компьютера в системную шину ПЭВМ 4, контроллер 3 системной шины и регистра FIFO 2, в n-разрядный поток (n=1, 2…8).
Демультиплексор (ДМП) 5 производит демультиплексирование данных, получаемых от выходной шины регистра FIFO 2, чтобы передать их в 64-разрядные шины Gr1…Gr7 для записи в регистр-фиксатор 6.
Адаптивный мультиплексор (МП) 7 производит передачу данных, получаемых от 448-разрядной выходной шины D_Peг регистра-фиксатора 6, в 4-разрядные шины Gr1_out…Gr8_out.
Объединители Об 8…15 потоков предназначены для уплотнения потоков от каждой 4-разрядной шины Gr_out в единый поток Data_out.
Блок управления 16 вырабатывает сигналы, необходимые для управления всеми остальными элементами логического блока 1 и регистра FIFO 2.
На входы блока 16 управления подаются тактовый сигнал Clk и код числа каналов при выводе NC (трехразрядное двоичное число).
Счетчик 17 обеспечивает деление частоты входного тактового сигнала на 4.
Формирователь 18 адреса формирует универсальный адрес для формирователя 19 сигнала чтения RE, кодера 20 адреса адаптивного МП 7, кодера 21 адреса ДМП 5 и кодера 22 адреса регистра-фиксатора 6.
Формирователь 19 RE предназначен для формирования сигнала чтения 64 бит данных из регистра FIFO 2.
Кодер 20 адреса адаптивного МП 7 представляет собой комбинационную логическую схему и формирует адрес для адаптивного МП 7.
Кодер 21 адреса ДМП представляет собой комбинационную схему и формирует адрес для ДМП 5.
Кодер 22 адреса регистра-фиксатора 6 представляет собой логическую комбинационную схему и предназначен для записи данных в ячейки регистра-фиксатора 6.
Для выходного тактового сигнала Clk_out используется задержка 23, а для синхронизации процесса записи в регистр-фиксатор 6 используется задержка 24, формирующая сигнал RE_d.
Временные диаграммы работы устройства для вывода данных по 5 каналам представлены на фиг.3. На диаграммах использовано обычное обозначение логических единиц и нулей в виде соответствующих двух уровней напряжения.
Здесь использованы такие же обозначения сигналов, что на структурной схеме предлагаемого устройства для вывода данных (фиг.1).
Из временных диаграмм видно, что входная возрастающая последовательность 64-разрядных данных D_fifo (которая является наглядной реализацией входных данных) преобразуется в 5 четырехразрядных потоков Gr_out и затем в 5 выходных потоков Data_out. Сигналы Clk/4, RE и Clk_out формируются из входного тактового сигнала Clk.
Устройство обеспечивает выполнение операций перепаковки данных из 64 потоков в 1…8 потоков (требуемые для вывода данных от системной шины ПЭВМ вовне) при любой частоте входных тактовых сигналов.
Таким образом, выполняется поставленная цель решения сложной задачи перепаковки, причем исключительно простыми техническими средствами. Все преобразования цифровых сигналов осуществляются средствами логической схемотехники. Поэтому устройства перепаковки могут быть легко реализованы как на дискретных логических элементах, так и на основе программируемых логических интегральных схем (ПЛИС).
Эффективность предлагаемых технических решений подтверждена экспериментально: соответствующие устройства перепаковки реализованы на ПЛИС серии XC4VFX20 семейства Virtex 4 фирмы Xilinx и проверены на функционирование в широком диапазоне тактовых частот (до 600 МГц).
Источники информации
[1] Калабеков Б.А. Цифровые устройства и микропроцессорные системы. - М.: Горячая линия - Телеком, 2003, с.123-126.
[2] Low-Voltage Logic Data Book. - Texas Instruments, 1996, p.10-47 - 10-57.
[3] Virtex-4 Libraries Guide for HDL Designs. - Xilinx, 2005, p.153-160, p.227-232.
Устройство перепаковки потоков для вывода данных, имеющее логический блок с входом тактового сигнала и восемью выходами вовне, 64-разрядный регистр FIFO, входы которого соединены с соответствующими выходами контроллера системной шины ПЭВМ, соединенного с системной шиной, отличающееся тем, что в логический блок введены демультиплексор, регистр-фиксатор с 448 ячейками, адаптивный мультиплексор, 8 объединителей потоков данных, блок управления, при этом входная 64-разрядная шина демультиплексора соединена с соответствующей выходной шиной регистра FIFO, входы регистра-фиксатора объединены в шины по 64 разряда, которые соединены с соответствующими выходами демультиплексора, а выходы регистра-фиксатора соединены с входами адаптивного мультиплексора, 32 входа объединителей потоков данных соединены с 32 выходами адаптивного мультиплексора, а выходы объединителей соединены с соответствующими выходами данных, на один вход блока управления подается тактовый сигнал, на другой вход подается сигнал, соответствующий числу выходных каналов, которое может меняться от 1 до 8; причем с выходов блока управления на вход управления регистра FIFO подается сигнал разрешения чтения, на входы управления демультиплексора подается сигнал адресации 64-разрядных групп данных, на входы управления регистра-фиксатора подается задержанный сигнал разрешения чтения и сигнал адресации 64-разрядных групп записи в регистр-фиксатор, на вход управления адаптивного мультиплексора подается сигнал адресации, на входы управления объединителей данных подаются сигналы входной тактовой частоты и четверти входной тактовой частоты.