|
|
  |
Свапинг элемента..., как это сделать? |
|
|
|
Jul 30 2007, 12:57
|
Знающий
     
Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480

|
Цитата(atlantic @ Jul 30 2007, 13:47)  просто при подходе, когда изменения вносятся сначала в схему, то нет необходимости пользоваться механизмом ECO, проще и надежнее перегрузить нетлист(меньше операций(с точки зрения разработчитка по кол-ву операций),и вероятность внесения ошибок по минимуму, так как постоянно идет синхронизация схема->плата) Чем проще? Почему надежнее? Где меньше операций?! С чего вдруг вероятность ошибок меньше?! Операций больше - в схематике нужно еще сгенерить нетлист (в случае ЕСО файл изменений дополняется автоматом при сохранении схемы). Ошибок - наоборот, вероятность больше. То ли дело добавить один элемент и подключить к нему пару нетов(три строчки ЕСО-файла. причем это ПКАД за Вас сделает), то ли загрузить нетлист на пару тысяч компонентов и тысячу цепей и попытаться увидеть - а не порвал ли он при загрузке пару разведенных трасс?! А синхронизация делается через Compare Netlist, точнее даже не синхронизация, а проверка тождественности схема-плата. Если уж обнаружены расхождения между ними, и нет сохраненного ЕСО, тогда пользуем NetSync - и опять все ОК. Причем в этом случае опять десятком-другим команд все исправляется, а не полной перегрузкой проекта. Цитата(atlantic @ Jul 30 2007, 13:47)  вот как вы определяете что можно свапить а что нет? наверно всеравно смотрите на схему, чтоб убедиться можно ли свапить или нет? вот вам и ответ, а на скольких разных листах не важно, главное, чтоб сохранялась структурность и логика принципиальной схемы: должны быть шины, по которым былоб понятно куда идут сигналы(на какие листы итд). А Вы как? Если смотрите на схему - то зачем делает платы в пакете, в котором наверное что-то для этого предусмотрено? Есть такое понятие как "эквивалентность пинов". Так вот разработчик только вешает сигналы на нужные группы выводов, а уж я, по прописанной в компоненте эквивалентности делаю свап, чтобы стало удобней трассировать. А по схеме знаете ли ничего не видно. Или Вы предлагаете мне глубоко вникнуть в документацию и понять что можно свапить, а чего нельзя? А что тогда делает разработчик? Может он об этом должен подумать и предусмотреть, чтобы я свапил ТОЛЬКО ТО, ЧТО С ЕГО ТОЧКИ ЗРЕНИЯ ДОПУСТИМО? Цитата(atlantic @ Jul 30 2007, 13:47)  Вот например "схема" на Spartan 3E Starter Kit, на sheet 8, там два банка, чтоб понять по схеме куда идут сигналы, придется перелистать и внимательно всматриватьваться в 13 страниц схемы. Вообщем наглядный пример схемы которую надо доработать напильником , чтоб с ней можно было работать. Я просто хотел отметить , что проектируя плату и внося изменения в схему, надо не забывать об удобочитемости схемы, хотябы после разводки платы, надо привести схему в порядок... Опять же, шина в ПКАДе - элемент чисто графический. Она ничего не знает о сигналах, которые в ней идут, и куда они идут. И если Вы что-то возле нее где-то подпишете, то это не значит, что в процессе редактирования эта информация будет автоматом обновляться. Где-то на одном из листов что-то пропустите, где-то добавите на листе сигнал которого не было и все. С точки зрения ПКАДа все в порядке. А у Вас ПРОБЛЕМЫ - надписи не соответствуют действительности... И еще вопрос - как Вы себе представляете удобочитаемой схему с той самой ФПЖА на тыщу с лишним ног и полутора-двумя десятками разных внешних цифровых интерфейсов? Она в любом случае нечитаемая. Просто есть листы, на них блоками выделены различные узлы платы и от них торчат порты. Все! Или Вы хотите попытаться все это прорисовать вайрами? Цитата(atlantic @ Jul 30 2007, 13:47)  наверно только первый раз, а потом следитьи делать постоянно ECO. Бывает удобнее перегрузить, особенно если на схеме в процессе появляются новые элементы. Ну объясните мне, чем удобнее? Ну появился элемент, ну добавило в ЕСО 3-5-15 строчек, но ЗАЧЕМ перегружать нетлист???
|
|
|
|
|
Jul 30 2007, 17:51
|
участник
   
Группа: Свой
Сообщений: 573
Регистрация: 16-02-06
Пользователь №: 14 402

|
Давайте только без обид. С точки зрения PCAD(если такая у него есть вообще  , все равно как делать,через ECO или через netlist, PCADу все равно, ошибки тут могут только возникнуть из за неправильных действий человека(глюки программы не в счет). Поэтому простоту и удобство работы можно применить к каждому конкретному пользователю, что приемлимо для одного, то неприемлимо для другого. Например выше упомянутая эл.схема в виде графического списка связей, по которому невозможно определить куда заходят сигналы, не потратив на это уйму времени. Мне с такой схемой крайне неудобно работать, в ней не видно никакой логической структуры, и поэтому приходиться составлять из этой схемы еще одну схему - ввиде блок схемы, и на ней потом подписывать на какой лист, что куда заходит. С точки зрения физической разводки платы схема вообще получается лишней, нужен лишь список связей. Но не надо забывать , что делается устройство, которое потом еще надо будет наладить работать и хорошо структуированная схема здесь первый помошник. Насчет эквивалентности пинов, особенно в FPGA. В зависимости от схемы включения, одни и те же выводы могут быть переставляемыми а могут и не быть. Например если выводы используются как I/O CMOS, то вероятно их можно переставлять между собой, а если эти выводы используются как диф сигналы, то можно переставлять уже только пары, и таких исключений из правил в FPGA очень много, как создать тогда такой компонент который им удовлетворяет? В простеньком пикаде вроде таких опций нет, при котором можно задать эквивалентность выводов, учитывающию логическую организацию выводов плис, для свапа. Насколько я знаю для этого нужны другие пакеты напр. IO Designer в сотаве Ментора, которые как-то более мене умеют это автоматизировать и то, я не уверен, что там нет своих "тараканов" пусть меня поправят знающие люди если это не так. Например вы говорите, что свапите выводы разных банков FPGA, а как вы можете быть уверены что эти банки питаются источниками одного и того же уровня, не посмотрев на схему, где в компоненте у вас это учтено? Например один банк питается +1.8v(интерфейс с DDR) а другой банк от 3.3V. Это я привел один из тривиальных примеров. Поэтому я смотрю на схему прежде чем свапить. Цитата(Uree @ Jul 30 2007, 15:57)  Опять же, шина в ПКАДе - элемент чисто графический. Она ничего не знает о сигналах, которые в ней идут, и куда они идут. И если Вы что-то возле нее где-то подпишете, то это не значит, что в процессе редактирования эта информация будет автоматом обновляться. Где-то на одном из листов что-то пропустите, где-то добавите на листе сигнал которого не было и все Если посмотреть свойства шиныв пикаде, то можно увидеть и какие сигналы и на какие листы эта шина заходит, другое дело что потом в "бумажном" виде это нельзя отобразить. А если стараться изначально создать логически связанную схему, и подписывать шины по их функциональному назначению, и не заводить туда "левых" сигналов, и при этом подводить окончания шин к краю листа, с подписью названия шины(без надписей текста куда она идет-это лишнее, именно только свойство шины -ее название и оно автоматом будет храниться), то пролистав все страницы схемы я с легкостью найду нужную мне, и далее по шине определю откуда и куда заходит мой сигнал, а с вариантом схемы голых портов я буду этим заниматься значительно дольше  и каждый раз я буду тратить много времени на поиск сигнала. Поэтому при проектировании схемы с шинами как я описал, работа со схемой будет в несколько раз быстрее и удобнее. А ошибку внести в неструктуированную схему намного проще, еще тяжелее её потом там найти. Надеюсь я остался понятым.
|
|
|
|
|
Aug 20 2007, 10:15
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Я недолго работаю с пикадом, но лично для меня у меня такие постулаты, что нетлист грузить надёжнее, чем ЕСО. Пример, когда я обжёгся с ЕСО: поменял местами 2 вывода у ПЛИС в схематике. Чтобы это сделать, я взял одно название цепи (порт), вырезал, поставил в пустое место. Затем взял второе название цепи, перенёс на первую цепь. Потом из пустого места взял первое название цепи и перенёс на вторую цепь. В результате в ЕСО записалось удаление цепи с такими именами, а потом уже присвоение новых имён. А в РСВ это вышло боком. Удаление цепей, записанное в ЕСО, привело к пропаданию одного сегмента дорожки (одной прямой линии). И хорошо, что я это во время заметил. А мог и не заметить, потом возникли бы проблемы. Те же самые операции, но с помощью нетлиста, удаление сегмента дорожки не вызвали. Может, конечно, обмен имён цепей выводов нужно было делать как-то по-умному, чтобы такого не происходило - я не умею по-другому. Я уж не говорю, что можно однажды запариться и не записать ЕСО, потом не все изменения появятся в РСВ, и имеется риск эти пропуски тоже своевременно не заметить и получить в последствии большие проблемы. Один раз вообще мне схематик заявил, что файл ЕСО он записывать не будет, т.к. по его мнению недостаточно дискового пространства, хотя там было 20 ГБ свободных. После такого заявления все несохранённые изменения просто пропали. Так что ЕСО я применяю в в проверенных операциях, в редких случаях, когда изменения очень мизерные и тривиальные, и все глюки этого процесса можно будет обнаружить сразу же визуально. Например, в целях ускорения процесса применяю ЕСО для изменения типоразмера корпусов элементов - резисторов и конденсаторов, в основном. Объясните мне, пожалуйста, какие настройки теряются при загрузке нетлиста? Разводил довольно крупную плату на 4 слоях, с БГА, ничего не заметил. Работаю в пикаде2004
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 21 2007, 10:19
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Vlad-od @ Aug 21 2007, 16:27)  Чтобы корректно создавался ЕСО при вставке цепи нужно пользоваться командой EDIT/PASTE/CIRCUITE, тогда проблем с загрузкой ЕСО не будет. Спасибо, попробую на следующей плате. Придумал ещё один способ, чтобы при ЕСО такого не происходило, как я описывал выше. Нужно не вырезать порт с названием цепи, а копировать, потом вставлять в пустое место. А потом порт из буфера обмена вставлять рядышком с предыдущим портом с предыдущим названием цепи. Тогда старое название заменится на новое - проверено. Правда, ещё не проверял, как себя поведёт ЕСО при этом. К тому же несколько больше операций - один из портов, сидящих после вставки на одной цепи, придётся ещё и удалить. Цитата(Vlad-od @ Aug 21 2007, 16:27)  А если Вы в параметрах схемы задаете OPTIONS/NET CLASSES, то при загрузки нет листа все данные о классах цыепей пропадают. Опять же, вы в каком пикаде работаете? В 2004м есть переключатель в диалоге load netlist под названием net class and rules handling, который я ставлю в Ignore. Тогда ничего не пропадает.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Oct 8 2007, 09:29
|
Местный
  
Группа: Свой
Сообщений: 363
Регистрация: 27-07-07
Из: Voronezh
Пользователь №: 29 411

|
Цитата(Neznayka @ Oct 8 2007, 13:04)  Вопрос: "меня интересуют слои типа Plane.. как их ввести понятно... но как с ними работать? Вот ввела я слой типа plane GND, включила его... что делать дальше? 1. В плановом слое нельзя провести проводники - только полигоны. 2. Плановый слой является негативным (т.е. мы видим участки которые не будут залиты медью. 3. Плановый слой в принципе можно и не очерчивать (не прорисовывать полигон по контуру платы), а контур нарисовать линией (я рисую линией 0,6мм). При этом в OPTIONs Layer присвоить имя цепи к которой будет подключаться слой. 4. Если надо провести другие цепи то пользоваться place plane.
|
|
|
|
|
Oct 8 2007, 10:27
|
Местный
  
Группа: Свой
Сообщений: 363
Регистрация: 27-07-07
Из: Voronezh
Пользователь №: 29 411

|
Цитата(Uree @ Oct 8 2007, 14:07)  А контур зачем очерчивать? И контур чего? Контур платы. Чтобы плановый слой отступал от края платы. А Вам зачем?
|
|
|
|
|
Oct 8 2007, 11:44
|
Местный
  
Группа: Свой
Сообщений: 363
Регистрация: 27-07-07
Из: Voronezh
Пользователь №: 29 411

|
Цитата(Владимир @ Oct 8 2007, 15:31)  KeepOut для этого Мне так удобней - перенес борд увеличил линию и все. Производители ни разу не жаловались. Я только не понял - как я кипаутами буду убирать заливку планового слоя? Я понимаю если я нарисую полигон в этом слое так, чтобы он не касался бордюра. Но если в слое нет совсем полигонов, то какие кипауты мне помогут? Научите если получится быстреея, чем у меня буду благодарен.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|