Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Руководство пользователя по сигнальным процессорам Sharc

.pdf
Скачиваний:
143
Добавлен:
01.05.2014
Размер:
9.49 Mб
Скачать

Форматы представления C чисел

C.4. Формат коротких слов с плавающей точкой

ADSP 2106x поддерживает 16 разрядный тип данных с плавающей точкой и обеспечивает для него команды преобразования формата. Формат коротких слов данных с плавающей точкой имеет 11 разрядную мантиссу и 4 разрядный порядок плюс знаковый бит (см. рис. С.3). 16 разрядные число с плавающей точкой располагается в младших 16 битах 32 разрядного поля с плавающей точкой.

Две команды устройства сдвига FPACK и FUNPACK предназначены для выполнения упаковки и распаковки при преобразовании между 32 разрядными словами с плавающей точкой и 16 разрядными словами с плавающей точкой. Команда FPACK предназначена для преобразования 32 разрядного числа стандарта IEEE с плавающей точкой в 16 разрядное число с плавающей точкой. Команда FUNPACK предназначена для преобразования 16 разрядного числа с плавающей точкой обратно к 32 разрядному формату стандарта IEEE с плавающей точкой. Каждая команда выполняется за один цикл.

Результаты операций FPACK и FUNPACK следующие.

Условие

Результат

exp>135

Наибольшая представимая величина.

120<exp135

Порядок является старшим битом порядка источника,

 

связанным с тремя младшими битами порядка источника.

 

Упакованная дробная часть является округленными

109<exp120

старшими 11 ю битами дробной части источника.

Порядок равен 0. Упакованная дробная часть – это старшие

 

биты (порядок источника – 110) дробной части источника, к

 

которым спереди добавлены нули и «скрытая» 1. Упакованная

 

дробная часть округляется.

Exp<110

Упакованное слово нулевое.

еxp = порядок источника.

Знаковый бит остается одинаковым во всех случаях.

Рис. С.3. 16-разрядный формат с плавающей точкой

581

C Форматы представления чисел

Условие

Результат

0<exp15

Порядок – это 3 младших бита порядка источника, к которым

 

спереди добавлен старший бит порядка источника и четыре

 

копии дополнения старшего бита. Распакованная дробная

 

часть является дробной частью источника с 12 ю нулями,

 

добавленными в конце.

еxp = 0

Порядок – это 120 N, где N – число начальных нулей в

 

дробной части источника. Распакованной дробной частью

 

является остаток дробной части источника с добавленными к

 

концу нулями, «скрытая» 1 удаляется.

exp = порядок источника.

Знаковый бит остается одинаковым во всех случаях.

Для формата коротких слов с плавающей точкой поддерживается постепенная потеря значащих разрядов. При этом для снижения динамического диапазона снижается точность. Когда упаковывается число, потерявшее значащие разряды, порядок устанавливается в 0 и мантисса (включая «скрытую» 1) сдвигается вправо на соответствующую величину. Упакованный результат является ненормализованным и может быть распакован в стандартное число с плавающей точкой стандарта IEEE.

При выполнении команды FPACK при переполнении устанавливается флаг SV; если нет переполнения, то флаг сбрасывается. При выполнении операции FUNPACK флаг SV сбрасывается. Флаги SZ и SS сбрасываются при выполнении обеих команд.

C.5. Формат данных с фиксированной точкой

ADSP 2106x поддерживает два формата 32 разрядных слов с фиксированной точкой: дробный и целый. В обоих форматах числа могут быть знаковыми (в виде двоичного дополнения) или беззнаковыми (см. рис. C.4). В дробном формате запятая находится слева от старшего бита. В целом формате запятая находится справа от младшего бита. Заметим, что знаковый бит имеет отрицательный вес в формате числа в виде двоичного дополнения.

Формат и разрядность результата операции ALU всегда совпадает с форматом и разрядностью входных операндов. Однако, умножитель выводит 64 разрядный результат для двух 32 разрядных входных операндов. Если оба операнда беззнаковые целые, то результат будет 64 разрядным беззнаковым целым. Если же оба операнда беззнаковые дробные, то результат будет 64 разрядным беззнаковым дробным. Эти форматы показаны на рис. C.5.

582

Форматы представления C чисел

Если один операнд знаковый, а другой беззнаковый, то результат будет знаковый. Если оба входных операнда являются знаковыми, то результат будет знаковым и автоматически сдвинутым влево на один разряд. Младший бит обнуляется, а 62 й бит сдвигается в позицию знакового бита. Обычно биты 63 и 62 идентичны, когда оба операнда знаковые. (Единственным исключением является ситуация, когда полномасштабное отрицательное число умножается само на себя.) Таким образом, при сдвиге результата влево обычно удаляется избыточный знаковый бит, что нормализует результат до дробного формата. Знаковые форматы со сдвигом влево и без сдвига показаны на рис. C.6.

Умножитель имеет 80 разрядный аккумулятор для накопления 64 разрядных результатов. Умножитель и аккумулятор подробно описываются в главе

Вычислительные устройства.

Рис. С.4. 32-разрядный формат с фиксированной точкой

583

C Форматы представления чисел

Рис. С.5. 64-разрядный знаковый результат с фиксированной точкой

Рис. С.6. 64-разрядный знаковый результат с фиксированной точкой

584

Тестовый порт JTAG D

D.1. Обзор

Сканирование границ позволяет разработчику системы проверять схему соединений на печатной плате с привлечением минимального количества специального контрольного оборудования. Сканирование возможно благодаря наличию возможности управления и отслеживания каждого входа и выхода на каждом кристалле с помощью набора последовательно просматриваемых защелок. Каждый вход и выход подсоединяется к своей защелке, а защелки соединяются в длинный регистр сдвига, так что данные могут считываться или записываться в них через последовательный тестовый порт (TAP, Test Access Port). Тестовый порт ADSP 2106х совместим с промышленным стандартом IEEE 1149.1 (спецификация JTAG).

Здесь описаны только те характеристики IEEE 1149.1, которые являются специфичными для ADSP 2106х. За дополнительной информацией обращайтесь к спецификации IEEE 1149.1 и к источникам, перечисленным в конце данного приложения.

Сканирование границ предусматривает разнообразные функции, которые можно выполнять для каждого входного и выходного сигнала ADSP 2106х. Каждый вход имеет защелку, которая контролирует значение входного сигнала, а также может выводить данные на кристалл вместо входного значения. Аналогично, каждый выход имеет защелку, которая контролирует значение выходного сигнала и также может выводить данные вместо выходного значения. Для двунаправленных выводов возможна комбинация функций ввода и вывода.

Каждая защелка, связанная со своим выводом, является частью пути единого последовательного регистра сдвига. Каждая защелка – это защелка типа ведущий/ведомый, управляемая внешним сигналом тактовой синхронизации. Этот сигнал (TCK) является асинхронным по отношению к сигналу тактовой синхронизации системы (CLKIN).

D.2. Тестовый порт

Тестовый порт (ТАР) ADSP 2106x управляет сканированием границ. ТАР имеет пять сигналов, которые управляют машиной состояния, включая граничный

585

D Тестовый порт JTAG

просмотр. Машина состояния и сигналы соответствуют спецификации IEEE 1149.1.

TCK (входной) Сигнал тактовой синхронизации операций тестовой логики. Используется для синхронизации данных в защелках просмотра и управляющей последовательности тестового конечного автомата. TCK может быть асинхронным по отношению к CLKIN.

TMS (входной) Выбор тестового режима. Первичный управляющий сигнал для конечного автомата. Синхронный по отношению к TCK. Последовательность значений на TMS задает текущее состояние TAP.

TDI (входной) Вход тестовых данных. Последовательные входные данные, помещаемые в защелки просмотра. Синхронный по отношению к TCK.

TDO (выходной) Выход тестовых данных. Последовательные выходные данные, извлекаемые из защелок просмотра. Синхронный по отношению к TCK.

TRST (вход) Сброс теста. Сбрасывает тестовый конечный автомат. Может

быть асинхронным по отношению к TCK.

BSDL файл для ADSP 2106х можно найти на BBS компании Analog Device и ее ftp сайте в Internet. Для соединения с BBS используйте параметры:

(617) 461 4258 8 бит данных, без контроля четности, 1 стоповый бит, 300/1200/2400/9600/14400 Бод

Соединяясь с ftp сайтом, войдите в систему анонимно, используя в качестве пароля адрес вашей электронной и наберите (из командной строки Unix):

ftp ftp.analog.com (или ftp 137.71.23.11)

D.3. Регистр команд

Регистр команд позволяет помещать команду в процессор. Эта команда выбирает тест, который будет выполняться и/или регистр данных, к которому будет осуществляться обращение. Регистр команд имеет длину 5 бит и не имеет бита

586

Тестовый порт JTAG D

контроля четности. После сброса TAP в регистр команд загружается двоичная величина 10000 (LSB соседний с TDI, см рис. D.1).

В табл.D.1 представлен двоичный код для каждой из команд. Бит 0 – ближайший к TDI, бит 4 – ближайший к TDO. Символ «x» означает произвольное состояние бита. Регистры данных не переводятся в тестовый режим по какой либо из открытых команд. Действие команд на ADSP 2106х определено в спецификации 1149.1. Дополнительные команды RUNBIST, IDCODE и USERCODE не поддерживаются ADSP 2106х.

Биты

Имя команды

Регистр

Тип

команды

 

(последовательный

 

 

 

4 3 2 1 0

 

путь)

 

 

 

1 х х х х

BYPASS

Обходной

Открытая

0 0 0 0 0

EXTEST

Граничный

Открытая

0 0 0 0 1

SAMPLE/PRELOAD

Граничный

Открытая

0 0 0 1 0

Зарезервировано для эмуляции

 

Закрытая

0 0 0 1 1

INTEST

Граничный

Открытая

0 0 1 0 0

Зарезервировано для эмуляции

 

Закрытая

0 0 1 0 1

Зарезервировано для эмуляции

 

Закрытая

0 0 1 1 0

Зарезервировано для эмуляции

 

Закрытая

0 0 1 1 1

Зарезервировано для эмуляции

 

Закрытая

0 1 х х х

Зарезервировано для эмуляции

 

Закрытая

Таблица D.1. Тестовые команды

Данные в столбце «Регистр» – это путь последовательного просмотра, в данном случае граничный или обходной, задаваемый командой. Эти пути показаны на рис. D.1. Одноразрядный регистр обхода (bypass) полностью определяется спецификацией 1149.1. Регистр сканирования границ описывается в следующем разделе.

Перед выполнением любой команды нет необходимости записывать какие либо специальные значения в любой из регистров. Как показано в табл.D.1, некоторые команды зарезервированы для использования эмулятора. Более подробно об этом см. в разделе D.7.

D.4. Регистр сканирования границ

Длина регистра сканирования границ 363 бита. В этом разделе определяется тип защелки и функция каждой позиции в пути просмотра. Позиции нумеруются от 0, являющейся первым разрядным выводом (самым близким к TDO) до 362, который является последним (самым близким к TDI).

587

D Тестовый порт JTAG

Рис. D.1. Пути последовательного просмотра

588

Тестовый порт JTAG D

Пози

Тип

Имя

ция

защелки

сигнала

прос

 

 

мотра

 

 

0

вход

этот вывод – ближайший к TDO

 

 

(просматривается первым)

1

вход

 

2

вход

 

3

вход

EBOOT

4

вход

RESET

5

вход

RPBA

6

вход

LBOOT

7

вход

ID0

8

вход

ID1

9

вход

ID2

10

выход

L5ACK (NC в ADSP 21061)1

11

вход

L5ACK (NC в ADSP 21061)

12

выход

L5CLK (NC в ADSP 21061)

13

вход

L5CLK (NC в ADSP 21061)

14

выход

L5DAT0 (NC в ADSP 21061)

15

вход

L5DAT0 (NC в ADSP 21061)

16

выход

L5DAT1 (NC в ADSP 21061)

17

вход

L5DAT1 (NC в ADSP 21061)

18

выход

L5DAT2 (NC в ADSP 21061)

19

вход

L5DAT2 (NC в ADSP 21061)

20

выход

L5DAT3 (NC в ADSP 21061)

21

вход

L5DAT3 (NC в ADSP 21061)

22

разрешение выхода2

разрешение выхода L5ACK (NC в ADSP 21061)

23

разрешение выхода

разрешение выхода L5DATx, L5CLK

 

 

(NC в ADSP 21061)

24

выход

L4ACK (NC в ADSP 21061)

25

вход

L4ACK (NC в ADSP 21061)

26

выход

L4CLK (NC в ADSP 21061)

27

вход

L4CLK (NC в ADSP 21061)

28

выход

L4DAT0 (NC в ADSP 21061)

29

вход

L4DAT0 (NC в ADSP 21061)

30

выход

L4DAT1 (NC в ADSP 21061)

31

вход

L4DAT1(NC в ADSP 21061)

32

выход

L4DAT2 (NC в ADSP 21061)

33

вход

L4DAT2 (NC в ADSP 21061)

589

D Тестовый порт JTAG

Пози

Тип

Имя

ция

защелки

сигнала

прос

 

 

мотра

 

 

34

выход

L4DAT3 (NC в ADSP 21061)

35

вход

L4DAT3 (NC в ADSP 21061)

36

разрешение выхода

разрешение выхода L4ACK (NC в ADSP 21061)

37

разрешение выхода

разрешение выходов L4DATx, L4CLK

 

 

(NC в ADSP 21061)

38

выход

L3ACK (NC в ADSP 21061)

39

вход

L3ACK (NC в ADSP 21061)

40

выход

L3CLK (NC в ADSP 21061)

41

вход

L3CLK (NC в ADSP 21061)

42

выход

L3DAT0 (NC в ADSP 21061)

43

вход

L3DAT0 (NC в ADSP 21061)

44

выход

L3DAT1 (NC в ADSP 21061)

45

вход

L3DAT1(NC в ADSP 21061)

46

выход

L3DAT2 (NC в ADSP 21061)

47

вход

L3DAT2 (NC в ADSP 21061)

48

выход

L3DAT3 (NC в ADSP 21061)

49

вход

L3DAT3 (NC в ADSP 21061)

50

разрешение выхода

разрешение выходов L3ACK (NC в ADSP 21061)

51

разрешение выхода

разрешение выходов L3DATx, L3CLK

 

 

(NC в ADSP 21061)

52

выход

NC (не соединять)

53

вход

NC (не соединять)

54

выход

L2ACK (NC в ADSP 21061)

55

вход

L2ACK (NC в ADSP 21061)

56

выход

L2CLK (NC в ADSP 21061)

57

вход

L2CLK (NC в ADSP 21061)

58

выход

L2DAT0 (NC в ADSP 21061)

59

вход

L2DAT0 (NC в ADSP 21061)

60

выход

L2DAT1 (NC в ADSP 21061)

61

вход

L2DAT1(NC в ADSP 21061)

62

выход

L2DAT2 (NC в ADSP 21061)

63

вход

L2DAT2 (NC в ADSP 21061)

64

выход

L2DAT3 (NC в ADSP 21061)

65

вход

L2DAT3 (NC в ADSP 21061)

66

разрешение выхода

разрешение выходов L2ACK (NC в ADSP 21061)

67

разрешение выхода

разрешение выходов L2DATx, L2CLK

 

 

(NC в ADSP 21061)

68

выход

L1ACK (NC в ADSP 21061)

69

вход

L1ACK (NC в ADSP 21061)

590