razob 0 12 марта, 2014 Опубликовано 12 марта, 2014 (изменено) · Жалоба К вопросу о жгутах Harness. Начал применять в своих схемах Harness - понравилась мне эта тема. Но обнаружил одну особенность, с которой никак не разберусь, приведу пример: Создан Harness Type, именуемый DDR3, с интерфейсом DDR3. Есть процессор с двумя DDR3 каналами, к этим каналам подключены два Harness Connector типа DDR3. Создан Sheet Symbol из этого листа, его позиционное обозначение #1. Аналогичная операция проведена с памятью: имеется два идентичных Sheet Symbol с поз. обозначением #4, #5. Эти символы подключены к символу процессора. Вроде бы всё здорово, однако компилятор сильно недоволен: Это я привёл только один пример ошибки, ругается он на все сигналы. Говорит, что у цепи аж 4 имени. Как я понимаю компилятор присваивает цепи имя вида SheetSymbolDesignator-HarnessConnectorEntry (получается #4-A0, #5-A0). А я также присвоил этой цепи имя A_A0. Вот коллизия и возникла. То есть как бы мне необходимо убрать именование шины и оставить только именование подключённых к ней цепей вида A0, A1, ... Если на листе с памятью это ещё и прокатит, то как быть на листе с процессором, там ведь по обе стороны проца получатся одноимённые цепи. Идеально было бы настроить именование цепей так, чтобы при компиляции им присваивались имена вида SheetSymbolDesignator-SignalHarness-HarnessType-HarnessEntry Проблема того же рода возникает и с одиночными сигналами... Как-то я неправильно этим пользуюсь. Изменено 12 марта, 2014 пользователем razob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masterofnature 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба К вопросу о жгутах Harness. Начал применять в своих схемах Harness - понравилась мне эта тема. Но обнаружил одну особенность, с которой никак не разберусь, приведу пример: Это я привёл только один пример ошибки, ругается он на все сигналы. Говорит, что у цепи аж 4 имени. Как я понимаю компилятор присваивает цепи имя вида SheetSymbolDesignator-HarnessConnectorEntry (получается #4-A0, #5-A0). А я также присвоил этой цепи имя A_A0. Вот коллизия и возникла. То есть как бы мне необходимо убрать именование шины и оставить только именование подключённых к ней цепей вида A0, A1, ... Если на листе с памятью это ещё и прокатит, то как быть на листе с процессором, там ведь по обе стороны проца получатся одноимённые цепи. Идеально было бы настроить именование цепей так, чтобы при компиляции им присваивались имена вида SheetSymbolDesignator-SignalHarness-HarnessType-HarnessEntry Проблема того же рода возникает и с одиночными сигналами... Как-то я неправильно этим пользуюсь. на листе верхнего уровня проекта явно присвойте жгутам имена Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razob 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба на листе верхнего уровня проекта явно присвойте жгутам имена Обозвал один жгут MEM_INT, второй канал памяти пока удалил. Но теперь имён пять: добавилось MEM_INT.A0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razob 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Всё-таки я никак не пойму. К жгуту с двух сторон подключаются цепи, цепи названы по-разному. Компилятор разумно ругается, что цепь названа несколько раз, но при этом в навигаторе или в окошке design insight цепь подсвечивается с двух сторон жгута - то есть считается одной цепью. Если назвать цепи с двух концов одинаково, то проблем нет. Но зачем тогда этот жгут вообще нужен... Идея как раз в том, чтобы с помощью жгута логически развязывать отдельные узлы схем, возлагая логическое согласование этих узлов на жгут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 60 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Всё-таки я никак не пойму. К жгуту с двух сторон подключаются цепи, цепи названы по-разному. Компилятор разумно ругается, что цепь названа несколько раз, но при этом в навигаторе или в окошке design insight цепь подсвечивается с двух сторон жгута - то есть считается одной цепью. Если назвать цепи с двух концов одинаково, то проблем нет. Но зачем тогда этот жгут вообще нужен... Идея как раз в том, чтобы с помощью жгута логически развязывать отдельные узлы схем, возлагая логическое согласование этих узлов на жгут. добавилось MEM_INT.A0 Это правильное название 1 оставьте в настройках проекта присвоение имен только по NetLabel 2 NetLabel должен стоять только на одном листе ( у Вас на двух) есть и иные настройки проекта Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razob 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Это правильное название 1 оставьте в настройках проекта присвоение имен только по NetLabel 2 NetLabel должен стоять только на одном листе ( у Вас на двух) есть и иные настройки проекта Владимир, спасибо, что подсказываете)) Попробовал настроить, как вы подсказали: также оставил netlable только на стороне памяти. В результате названия этих цепей дальше листа, на котором они объявлены, не ушли. Вот когда я ставлю первую галочку, то все цепи и шины, подключенные к harness entry, после компиляции, автоматически именуются в формате PortName.HarnessEntyName. Например, если к Harness Connector типа DDR3 подключён порт с именем CHA, то подключенные цепи и шины будут именоваться CHA.A[0..14] или CHA.CKE. Вроде всё как надо, но предупреждение компилятора не пропадает. Тут ещё проблема такая: например адресная шина получает название CHA.A[0..14], затем я руками именую каждый элемент этой шины CHA.A0, CHA.A1 и т.д. Компилятор почему-то игнорирует последнюю цифру и выдаёт ошибку, что цепи названы одинаково. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 60 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Вот когда я ставлю первую галочку, то все цепи и шины, подключенные к harness entry, после компиляции, автоматически именуются в формате PortName.HarnessEntyName. Вам писали, поставьте Netlabel на Harness и будут именоваться Netlabel(который на Harness).Netlabel(который на цепи) установкой галки вы разрешили использовать для наименования PortName и HarnessEntyName. например адресная шина получает название CHA.A[0..14] Здесь сложнее так как формально 2 имени стоит на разных листах Но тоже выход есть. Давно не использовал иерархию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razob 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Владимир, ещё раз спасибо. Действительно сработало именование именно жгутов. Правда всё же немного иначе. Приложу картинки для другого интерфейса: В таком включении компилятор полностью доволен. А вот если жгут на первом листе именовать, то этот netlable не передаётся почему-то по иерархии вниз. Для случае ДДР, там где два символа памяти, не удаётся сделать одинаковые названия жгутов, это вызывает коллизию. Что собственно вы и написали. Буду думать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 60 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба А вот если жгут на первом листе именовать, то этот netlable не передаётся почему-то по иерархии вниз. По идее должен Для случае ДДР, там где два символа памяти, не удаётся сделать одинаковые названия жгутов, это вызывает коллизию. Что собственно вы и написали. Буду думать. там надо установить в настройках листа добавлять имя листа к netlabel Но точно не помню Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 21 июля, 2014 Опубликовано 21 июля, 2014 · Жалоба Возник у меня вопрос по этой теме. Сколько лет использовал в ирархии все было гладно, до следующего момента: и, соотвественно, Class Document Source Message Time Date No. [Error] MCU.SchDoc Compiler Global Power-Object +VMCU at 730,690has been reduced to local level by presence of port at 640,730 18:24:14 21.07.2014 70 Как я понял, если порт питания имеет сооединение со жгутом, то область этого порта уменьшается до листа. У меня разъемы находятся на другом листе, и, логично, соединяются на верхнем уровне жгутом. В конкретнм случае, питание на карточку подается напрямую, но ведь может быть и через ключ. Так что логически ошибки не вижу. Но Altium в этом случае упорно меняет область действия порта и создает несколько одноименных цепей. Можно ли изменить эту ситуацию? В опциях проекта не увидел подходящих настроек. Создать промежуточный компонент? Но как его сделать, чтобы в плате его не было, а связь через него была? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 60 21 июля, 2014 Опубликовано 21 июля, 2014 · Жалоба Возник у меня вопрос по этой теме. Сколько лет использовал в ирархии все было гладно, до следующего момента: и, соотвественно, Как я понял, если порт питания имеет сооединение со жгутом, то область этого порта уменьшается до листа. У меня разъемы находятся на другом листе, и, логично, соединяются на верхнем уровне жгутом. В конкретнм случае, питание на карточку подается напрямую, но ведь может быть и через ключ. Так что логически ошибки не вижу. Но Altium в этом случае упорно меняет область действия порта и создает несколько одноименных цепей. Можно ли изменить эту ситуацию? В опциях проекта не увидел подходящих настроек. Создать промежуточный компонент? Но как его сделать, чтобы в плате его не было, а связь через него была? Не используйте GlobalPort для передачи сигналов через Harness. GlobalPort и так передает связь на все листы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 22 июля, 2014 Опубликовано 22 июля, 2014 · Жалоба Не используйте GlobalPort для передачи сигналов через Harness. GlobalPort и так передает связь на все листы. Спасибо, но как быть? Ведь может быть как вариант а, так и б. Иерархиечский проект и делается для того, чтобы не перерисовывать в случае чего всю схему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 60 22 июля, 2014 Опубликовано 22 июля, 2014 · Жалоба переместите транзистор на подчиненный лист Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masterofnature 0 22 июля, 2014 Опубликовано 22 июля, 2014 · Жалоба Спасибо, но как быть? Ведь может быть как вариант а, так и б. Иерархиечский проект и делается для того, чтобы не перерисовывать в случае чего всю схему. Ещё вариант: не используйте GlobalPort, а ограничтесь локальным. Либо поставьте перемычку (нулевой резистор), чтобы разделить цепи. Варианты есть, если подумать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TSS 0 22 июля, 2014 Опубликовано 22 июля, 2014 · Жалоба А что собственно мешает подключить транзистор к питанию напрямую, к этому самому VDD. Harness удобно использовать для сигнальных цепей, а не для подключения питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться