Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
Размещение 16 входных разрядов определяется кодом управления «С» и сигналом ссылки HI/LO. Код управления «С» является 8-битным значением, которое указывает направление сдвига и число разрядов, на которое необходимо будет сдвинуть данные.
Положительные значения кода управления указывают на сдвиг данных влево, а отрицательные на сдвиг вправо. Код управления может быть взят из регистра экспоненты SE или непосредственно из инструкции команды. Сигнал ссылки HI/LO определяет начальную точку сдвига. В состоянии HI все сдвиги производятся относительно регистра SR1 (старшей половины выходных данных), а в состоянии LO все сдвиги производятся относительно регистра SR0 (младшей половины выходных данных). В табл. 16.2 показаны все возможные комбинации сдвигов данных для сигналов ссылки LO и HI.
Таблица 16.2 Возможные комбинации сдвигов данных для сигналов ссылки L0 и HI
Управляющий код для сигнала сдвига Выходное значение массива сдвига HI LO +16…+127 +32…+127 00000000 00000000 00000000 00000000 +15 +31 R0000000 00000000 00000000 00000000 +14 +30 PR000000 00000000 00000000 00000000 +13 +29 NPR00000 00000000 00000000 00000000 +12 +28 MNPR0000 00000000 00000000 00000000 +11 +27 LMNPR000 00000000 00000000 00000000 +10 +26 KLMNPR00 00000000 00000000 00000000 +9 +25 JKLMNPR0 00000000 00000000 00000000 +8 +24 IJKLMNPR 00000000 00000000 00000000 +7 +23 HIJKLMNP R0000000 00000000 00000000 +6 +22 GHIJKLMN PR000000 00000000 00000000 +5 +21 FGHIJKLM NPR00000 00000000 00000000 +4 +20 EFGHIJKL MNPR0000 00000000 00000000 +3 +19 DEFGHIJK LMNPR000 00000000 00000000 +2 +18 CDEFGHIJ KLMNPR00 00000000 00000000 +1 +17 BCDEFGHI GKLMNPR0 00000000 00000000 0 +16 ABCDEFGH IJKLMNPR 00000000 00000000 -1 +15 XABCDEFG HIJKLMNP R0000000 00000000 -2 +14 XXABCDEF GHIJKLMN PR000000 00000000 -3 +13 XXXABCDE FGHIJKLM NPR00000 00000000 -4 +12 XXXXABCD EFGHIJKL MNPR0000 00000000 -5 +11 ХХХХХАВС DEFGHIJK LMNPR000 00000000 -6 +10 ХХХХХХАВ CDEFGHIJ KLMNPR00 00000000 -7 +9 XXXXXXXA BCDEFGHI JKLMNPR0 00000000 -8 +8 XXXXXXXX ABCDEFGH IJKLMNPR 00000000 -9 +7 XXXXXXXX XABCDEFG HIJKLMNP R0000000 -10 +6 XXXXXXXX XXABCDEF GHIJKLMN PR000000 -11 +5 XXXXXXXX XXXABCDE FGHIJKLM NPR00000 -12 +4 XXXXXXXX XXXXABCD EFGHIJKL MNPR0000 -13 +3 XXXXXXXX ХХХХХАВС DEFGHIJK LMNPR000 -14 +2 XXXXXXXX ХХХХХХАВ CDEFGHIJ KLMNPR00 -15 +1 XXXXXXXX ХХХХХХХА BCDEFGHI JKLMNPR0 -16 0 XXXXXXXX ХХХХХХХХ ABCDEFGH IJKLMNPR -17 -1 XXXXXXXX ХХХХХХХХ XABCDEFG HIJKLMNP -18 -2 XXXXXXXX ХХХХХХХХ XXABCDEF GHIJKLMN -19 -3 XXXXXXXX ХХХХХХХХ XXXABCDE FGHIJKLM -20 -4 XXXXXXXX ХХХХХХХХ XXXXABCD EFGHIJKL -21 -5 XXXXXXXX ХХХХХХХХ ХХХХХАВС DEFGHIJK -22 -6 XXXXXXXX ХХХХХХХХ ХХХХХХАВ CDEFGHIJ -23 -7 XXXXXXXX ХХХХХХХХ XXXXXXXA BCDEFGHI -24 -8 XXXXXXXX ХХХХХХХХ XXXXXXXX ABCDEFGH -25 -9 XXXXXXXX ХХХХХХХХ XXXXXXXX XABCDEFG -26 -10 XXXXXXXX ХХХХХХХХ XXXXXXXX XXABCDEF -27 -11 XXXXXXXX ХХХХХХХХ XXXXXXXX XXXABCDE -28 -12 XXXXXXXX ХХХХХХХХ XXXXXXXX XXXXABCD -29 -13 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХАВС -30 -14 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХАВ -31 -15 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХХА -32…-128 -16…-128 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХХХМассив сдвига и связанная с ним логика OR/PASS находятся в окружении набора регистров. Входной регистр SI (Shifter Input) содержит данные для массива сдвига и детектора порядка. Разрядность регистра SI составляет 16 бит.