Глава 6: Усовершенствованное редактирование
6-9: Цепи
6-9-3: Именование шины
Шиной дуги технологии Schematics называется особая дуга, которая способна нести несколько сигналов (см. Раздел 7-5-1). Когда шине дуг дается имя цепи, есть возможность использовать полные имена шины.
• Simple arrays имена шин могут быть массивами (например, "А0:7", который характерен для 8-сигнальной шины). Индексы можно увеличивать или уменьшать.
• Lists Имена шин могут сводится в список (например, "clock,in1,out", который объединяет 3 сигнала внутри 3-сигнальной шины)
• Array index lists and ranges Индексы массивов могут иметь индивидуальные значения или диапазон значений (например, шина "b0,c3,5,d1:2,e8:6" это 8-сигнальная шина с сигналами в последовательности: b0, c3, c5, d1, d2, e8, e7, e6).
• Multidimensional array indices Массивы могут быть иметь множество индексов (например, "b 1:02 100102" характерно для 4-сигнальной шины: b 1 100, b 1 102, b 2 100, и b 2 102). У вас может быть любое число измерений в массиве. Порядок сигналов в многомерном массиве является таким, что крайний правый индекс изменяется быстрее всего. Например, шина "D 1:02 1:02" имеет сигналы в следующем порядке: D 1 1, D 1 2, D 2 1, D 2 2.
• Symbolic array indices И, наконец, можно использовать символьные индексы в именовании шин (например, шина "rx,y" определяет 2-сигнальную шину с сигналами rx и ry).
Когда шина не именована, система определяет ее ширину (количество сигналов) от порта, к которому она присоединена. Некоторые инструменты (такие как simulation netlisters) нуждаются в именовании больше всего, так что следует именовать эти безымянные шины.
Когда вы это сделали, то система должна выбрать, следует ли пронумеровать шины в порядке возрастания или в порядке убывания. Для этого воспользуйтесь командой Network Preferences (в меню File / Preferences, раздел ... " Tools", вкладка "Network") и выберете "Ascending" или "Descending" (для получения более подробной информации о "Node Extraction" команды Network Preferences см. раздел 9-10-2.)
Отдельные провода, которые подключаются к шине, должны быть названы именем этой шины. В качестве помощи при получении отдельных сигналов шины, команда Rip Bus (в меню Edit / Arc) автоматически будет создавать такие провода для выбранной шины дуги.
Чтобы узнать о сигналах шины, выберите эту шину и воспользуйтесь командой Object Properties (в меню Edit / Properties). В полной версии диалогового окна (для этого необходимо нажать кнопку "More"), выберите "List Shows Bus Members", чтобы увидеть список цепей на выбранной вами шине дуги. Когда шина становится портом узлов, вы сможете увидеть сигналы этой шины, выбрав этот порт узла и используя команду Object Properties. В полной версии диалогового окна, чтобы увидеть эти сигналы, выберете команду "Bus Members on Port".
Массивы узлов
Помимо использования массива имен шины, вы можете также получить массив имен для узлов схемы. Генератор netlist создаст множество копий этого узла, которые будут названы также как и индивидуальные элементы массива.
соединенный с его портом, то порт также
преобразуется в массив.
Например, предположим, что ячейка X
имеет провода порта Y и порт шины Z 1:02. Ячейка X
будет преобразована в массив с именем M 2:04.
А порты Y и Z могут быть подключены двумя способами:
• Неявное соединение со всеми элементами (верхний рисунок). Если сначала провод порта Y подключен к единственному проводу (А), то затем провод подключается к порту Y ко всем трем элементам ячейки X. А если провод порта Y сперва подключен к единственному проводу (А), то затем провод подключается к порту Y ко всем трем элементам ячейки X.
Тогда если порт шины Z подключен к 2-сигнальной шине (B), то каждый элемент этой шины подключается к тому же элементу шины порта Z на ко всем трем элементам ячейки X. Так B 1 подключается к порту Z 1, а B 2 подключается к Z 2 к трем элементам ячейки M 2, M 3 и М 4.
• Явное соединение с отдельными элементами (нижний рисунок). Если провод порта Y подключен к 3-сигнальной шине (C), то каждый элемент шины подключается к порту Y к другому элементу ячейки X. C 1 подключается к Y на М 2; С 2 подключается к Y на М 3; и С 3 подключается к Y на М 4. Если шина порта Z подключен к 6-сигнальной шине (D), то она рассматривается в виде трех пар сигналов, и каждая пара подключения к 2-сигнальной шине Z к другому элементу ячейки X. D 1 и D 2 подключаться к Z 1 и Z 2 на М 2; D 3 и D 4 подключаться к Z 1 и Z 2 на М 3; и D 5 и D 6 подключаться к Z 1 и Z 2 на М 4.
Отметим, что примитивный узел из технологии Schematic использовать в качестве массива невозможно. Вместо этого, вы должны поместить этот узел в пределы ячейки, и преобразовать элементы этой ячейки в массив.
Параметризованные имена шин
Очень часто используются переменные, которые отвечают за количество сигналов шин, согласно параметризации их названий (именований). Electric содержит список глобальных параметров, которые отвечают за это.
Для этого необходимо выбрать команду
Edit Bus Parameters (в меню Edit / Properties).
Вы можете создавать или удалять параметры,
а можете установить значения для каждого
параметра.
Чтобы использовать эти параметры, необходимо добавить шаблон в имя дуги, узла или экспорта.
На этом рисунке показан экспорт под названием "in" и дуга под названием "internal". И имя экспорта и имя дуги были выбраны с помощью команды Parameterize Bus Name (в меню Edit / Properties).
По рисунку видно, что шаблоны находятся рядом с первоначальными именами. Преобразованные в массив узлы, могут также иметь имена в соответствии с их параметрами.
Вы можете ввести любой текст в шаблоне. Везде, где появится строка $ (par), он будет иметь параметр par. В этом примере параметр Х имеет значение 7. Вы можете также использовать простые арифметические символы ("+", "-", "*" и "/"), например в 0:$(x)-1 шина работает от 0 до -1 значения "х". Когда значения параметров будут изменены, нажмите кнопку " Update All Templates", чтобы проверить все имена узлов, дуг, и экспорта.