Кстати, наболело: Там нижэ писал про уровни абстракцый при разводке ФПГА. Т.е., при разводке приходится тусовать меж собой ноги от разных объектов. С обычными входо-выходами, просто. Но в эти-жэ ноги могут мапиться разные специальные функции, типа дифприёмников-передатчиков, входо-выходы внутренних функций и всё такое. Т.е. просто раскидывать ноги, чтобы не пересекаться, не получается. При перекидывании дифпары, приходится учитывать их наличие по фиксированным местам. И всё такое, подобное. Для себя, в ПКАД2006 решил проблему в нескольких компонентах. Первый, это разбивка по кластерам портов, чтобы менять пины-гейты в одном порту с одним питанием. Это редко, потому, чисто теоретически. Второй, это пины, насыпом, чтобы свопать их, не глядя. Третий, гейты, насыпом. Т.е. сперва получаю нетлист из схемы, где сигналы просто подключены к портам, гейтам(когда нужны гейты). Потом в ПСБ меняю компонент на компонент с гейтами, например, ЛВДС приёмо-передатчики, раскидываю их, потом меняю компонент на пины россыпью, меняю их и так несколько раз, пока не самоудовлетворюсь. Перед очередной сменой компонента, бэкАннотейт в схему. Причом, для схемы у меня только один компонент, разбивка по портам. При бэк аннотейт матерится, но пофиг.
И было бы прикольно иметь возможность генерить компоненты с логикой в несколько "слоёв". Пины, допускающие своп, другой слой, гейты(разнородные), допускающие своп среди родственников и т.д. И в процессе разводки, получать доступ либо к одному уровню абстракций, либо к другому. И, соответственно, чтобы оно, при необходимости, коннектилось к аттрибутам цепей. чтобы при попытке свопнуть на уровне пина, ножку, САD омматерил, что цепь дифференциальная иннах.
Кагтатаг.