Kuzmi4 0 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба С длинами всё есчё интересней: # define (group CLK_N_00 (fromto "R191"-"2" "IC9"-"J8")) # unit mm #circuit group CLK_N_00 (length 21 20 (type actual)) circuit group CLK_N_00 (length 1.2 1.1 (type ratio)) # rule group CLK_N_00 (patterns_allowed accordion) # unselect all nets select group CLK_N_00 # route 2 В результате вообсче никаких телодвижений: Мдя.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба эээ... а где собссно группа? Вижу только одну цепь, точнее фром-ту цепи. Возможно группа просто даже не создалась? А вообще я не уверен, что эту топологию делают автоматом. Унас все референс-дизайны сделаны в Аллегро. Так вот, любопытства ради я тихонько утащив их домой и открывая в Аллегро передавал в Спекктру, чтобы посмотреть как родная система генерит на них ДО-файлы. Почти на всех платах есть ДДР2, разведена именно так, как Вы это хотите, но НИ В ОДНОМ файле не описана именно топология этих цепей... Правила - да, длины для байт-групп данных - да, зоны трассировки(через задание регионов) - тоже да, каждая пара определена через свой класс, для всех пар(соответственно классов) определены правила класс-класс и т.п., но нигде ни одного виртуального пина и прямого указания топологии через from-to. То ли это делалось вручную, то ли еще как - не знаю, но таких конструкций в "родной" системе увидеть не удалось:( ЗЫ Так что я просто отказался от мысли делать это в Спекктре, руками проще и быстрее. Да и топология в общем прозрачная, на глаз все видно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба 2 Uree - ага...благодарствую.. На счёт группы define (group CLK_N_00 (fromto "R191"-"2" "IC9"-"J8")) А это как понимать ? По идее это и задаёт группу с fromto.. И есть есчё вопрос: Задам я значит рулезы. Теперь нужно тянуть дифпару ручками.. А как ручками в спекктре тянуть дифпару ?? А то что то нашёл только одиночный проводник... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба Так сразу не вспомню, но где-то на правой кнопке висит меню Setup, на одной из его закладок надо поставить птицу разрешения водить дифпары. Правда у меня они нормально так и не смогли водиться:( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad-od 0 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба просто можно зацепить сразу два пина карандашом и они будут вестись по описанным правилам (как лупой). Только если линии уже есть надо концы линий захватывать. Для этого они должны быть рядом. Так можно много захватывать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 26 сентября, 2008 Опубликовано 26 сентября, 2008 · Жалоба 2 Uree, Vlad-od - благодарствую. Вроде водится, счас пропишу rules`ы и попробую :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 26 сентября, 2008 Опубликовано 26 сентября, 2008 · Жалоба Есчё интересное наблюдается define (pair (nets "P_DDR_CLK" "P_DDR_/CLK" (gap 0.2))) # Nets "P_DDR_CLK" and "P_DDR_/CLK" have been defined as a balanced pair. rule net "P_DDR_/CLK" (max_uncoupled_length 0.5) rule net "P_DDR_CLK" (max_uncoupled_length 0.5) тут я задал зазор для дифпары в 0.2 мм и разброс в 0.5 мм для пары Всё вроде верно. Теперь я пробую вести ручками и вижу, что Specctrа только зазор соблюдает а на разницу между вайрами ей наплевать Координаты по оси для падов - 41.9 мм и 43.7 - 0.5 мм разброс тут вообсче не наблюдается. Наблюдается гораздо больший... Почему Specctrа не соблюдает правила который в принципе видно что она скушала ? Как тут быть ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 26 сентября, 2008 Опубликовано 26 сентября, 2008 · Жалоба Просто не все задано, что нужно Спекктре для корректной трассировки пары. Посмотрел в дизайн, вытащил отчет для пары ЮСБ - посмотрите что задано для цепей задайте то же самое, должно помочь. По идее нужно задавать все, что написано в Electrical Constraints: LISTING: 4 element(s) Item 1 < NET > Net Name: SW_USB_P0_P Member of Diff Pair: DIFFPAIR37 Pin count: 2 Via count: 2 Total etch length: 77.2067 MM Total manhattan length: 68.0291 MM Percent manhattan: 113.49% Pin Type SigNoise Model Location --- ---- -------------- -------- U3C1.22 BI (74.3229 187.0075) U4B3.3 BI (136.5735 192.7860) No connections remaining Properties attached to net LOGICAL_PATH = @local_lib.bonita_springs(sch_1):sw_usb_p0_p DIFFP_COUPLED_PLUS = 0.0005 MM DIFFP_COUPLED_MINUS = 0.0005 MM DIFFP_MIN_SPACE = 0.1265 MM DIFFP_GATHER_CONTROL = INCLUDE DIFFP_PHASE_TOL = 50 MILS DIFFP_UNCOUPLED_LENGTH = 13.97 MM Electrical Constraints assigned to net diff pair primary gap: 0.1905 MM (physical constraint) diff pair neck gap: 0.1905 MM (physical constraint) diff pair positive coupled tolerance: 0.0005 MM diff pair negative coupled tolerance: 0.0005 MM diff pair min line spacing: 0.1265 MM diff pair gather control: include diff pair max uncoupled length: 13.97 MM diff pair phase tolerance: 50 MILS Constraint information: (DPTol) U4B3.3 to U3C1.22 min= 75.5694 MM max= 78.1094 MM actual= 77.2067 MM DPData: gap=0.1905 (-0.0005,+0.0005) tolerance= 1.2700; max uncoupled= 13.9700 (136.5735,192.7860) pin U4B3.3,BI,TOP/TOP 1.7282 MM cline TOP (136.0805,194.3100) via TOP/BOTTOM 73.6318 MM cline BOTTOM (73.8505,185.3565) via TOP/BOTTOM 1.8467 MM cline TOP (74.3229,187.0075) pin U3C1.22,BI,TOP/TOP Member of Groups: SPACING NETCLASS: USB-DIFF_7_20 PHYSICAL NETCLASS: 90OHM-DIFF_PH DIFF_PAIR : DIFFPAIR37 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Item 2 < NET > Net Name: SW_USB_P0_N Member of Diff Pair: DIFFPAIR37 Pin count: 2 Via count: 2 Total etch length: 76.8394 MM Total manhattan length: 64.4807 MM Percent manhattan: 119.17% Pin Type SigNoise Model Location --- ---- -------------- -------- U3C1.21 BI (74.8233 187.0075) U4B2.3 BI (133.5255 192.7860) No connections remaining Properties attached to net LOGICAL_PATH = @local_lib.bonita_springs(sch_1):sw_usb_p0_n DIFFP_COUPLED_PLUS = 0.0005 MM DIFFP_COUPLED_MINUS = 0.0005 MM DIFFP_MIN_SPACE = 0.1265 MM DIFFP_GATHER_CONTROL = INCLUDE DIFFP_PHASE_TOL = 50 MILS DIFFP_UNCOUPLED_LENGTH = 13.97 MM Electrical Constraints assigned to net diff pair primary gap: 0.1905 MM (physical constraint) diff pair neck gap: 0.1905 MM (physical constraint) diff pair positive coupled tolerance: 0.0005 MM diff pair negative coupled tolerance: 0.0005 MM diff pair min line spacing: 0.1265 MM diff pair gather control: include diff pair max uncoupled length: 13.97 MM diff pair phase tolerance: 50 MILS Constraint information: (DPTol) U4B2.3 to U3C1.21 min= 75.9367 MM max= 78.4767 MM actual= 76.8394 MM DPData: gap=0.1905 (-0.0005,+0.0005) tolerance= 1.2700; max uncoupled= 13.9700 (133.5255,192.7860) pin U4B2.3,BI,TOP/TOP 1.7282 MM cline TOP (133.0325,194.3100) via TOP/BOTTOM 73.2884 MM cline BOTTOM (75.3110,185.3867) via TOP/BOTTOM 1.8228 MM cline TOP (74.8233,187.0075) pin U3C1.21,BI,TOP/TOP Member of Groups: SPACING NETCLASS: USB-DIFF_7_20 PHYSICAL NETCLASS: 90OHM-DIFF_PH DIFF_PAIR : DIFFPAIR37 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 27 сентября, 2008 Опубликовано 27 сентября, 2008 · Жалоба То есть получается если не всё задано - то воспринимать не будет - хм.. интересно... Счас пороюсь в доках, а то не совсем ясно как задавать diff pair min line spacing diff pair gather control diff pair positive/negative coupled tolerancе и попробуем :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 27 сентября, 2008 Опубликовано 27 сентября, 2008 · Жалоба Хотелось бы уточнить по коммандам: diff pair min line spacing - это который spacing. только для дифпары , так ? На счёт diff pair gather control - что-то вообсче не нашёл :crying: На счёт positive/negative coupled tolerancе - нашёл только стандартный tolerancе, а как с него coupled positive/negative получить?? Кстати нашёл различие - в литературе(там где примеры)- обычно обзывают дифпару. потом делают класс и для класа задают кучу рулезов.. Попробую этот путь.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 29 сентября, 2008 Опубликовано 29 сентября, 2008 · Жалоба Ага , нашёл параметры - не сильно они распространены оказались. В результате я выродил такой Do-файл: define (pair (nets "P_DDR_/CLK" "P_DDR_CLK")) # Nets "P_DDR_/CLK" and "P_DDR_CLK" have been defined as a balanced pair. select net "P_DDR_/CLK" "P_DDR_CLK" # Net "P_DDR_/CLK" Selected. # Net "P_DDR_CLK" Selected. # Net "P_DDR_CLK" Selected. # Net "P_DDR_/CLK" Selected. define (class DIFF_CLK (selected)) zoom in rule pcb (edge_primary_gap 0.2); rule pcb (phase_tolerance_length 0.5); rule pcb (max_uncoupled_length 0.5) rule pcb (edge_primary_gap 0.2) rule class DIFF_CLK (max_uncoupled_length 0.5) rule class DIFF_CLK (edge_coupled_tolerance_minus 0.5) rule class DIFF_CLK (edge_coupled_tolerance_plus 0.5) rule class DIFF_CLK (edge_primary_gap 0.2) rule class DIFF_CLK (phase_tolerance_length 0.5) rule class DIFF_CLK (diffpair_line_width 0.145) rule class DIFF_CLK (edge_primary_gap 0.2) rule net "P_DDR_/CLK" (max_uncoupled_length 0.5) # rule pcb (max_uncoupled_length 0.5) rule pcb (edge_coupled_tolerance_minus 0.5) rule pcb (edge_coupled_tolerance_plus 0.5) rule pcb (diffpair_line_width 0.145) rule net "P_DDR_/CLK" (edge_coupled_tolerance_minus 0.5) rule net "P_DDR_/CLK" (edge_coupled_tolerance_plus 0.5) rule net "P_DDR_/CLK" (edge_primary_gap 0.2) rule net "P_DDR_/CLK" (phase_tolerance_length 0.5) rule net "P_DDR_CLK" (max_uncoupled_length 0.5) rule net "P_DDR_CLK" (edge_coupled_tolerance_minus 0.5) rule net "P_DDR_CLK" (edge_coupled_tolerance_plus 0.5) rule net "P_DDR_CLK" (diffpair_line_width 0.145) rule net "P_DDR_CLK" (edge_primary_gap 0.2) rule net "P_DDR_/CLK" (diffpair_line_width 0.145) rule net "P_DDR_CLK" (phase_tolerance_length 0.5) rule pcb (phase_tolerance_length 0.5) Посмотрел по закладкам: Вроде верно всё.. Потом нажимаю на пиктограммку И вижу всё ту же картину Я что-то совсем запутался..... :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 29 сентября, 2008 Опубликовано 29 сентября, 2008 · Жалоба Пробовал даже задать все параметры для класса, нетов в классе и PCB.. Результат аналогичный - тянет как на вышеприведённом рисунке - при чём я замерял - разница в координатах 1.8 мм для КП SMD откуда они начинают вестись... Отчего такая кака творится ?? Почему спекктра игнорирует все правила которые я ей задал.. ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 29 сентября, 2008 Опубликовано 29 сентября, 2008 · Жалоба Включите Ignore Gather Length в Off. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 22 29 сентября, 2008 Опубликовано 29 сентября, 2008 · Жалоба А если пощёлкать туда-сюда флажки? Например, Phase Tolerance Type - что такое? Что если вместо Length выставить Delay? Я обычно применяю метод околонаучного тыка, а когда уж совсем ничего не выходит - делать нечего, приходится читать документацию... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad-od 0 29 сентября, 2008 Опубликовано 29 сентября, 2008 · Жалоба А я нажимаю следующую пиктограмму и руками сдвигаю проводники. Зазор при этом Спекктра выдерживает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться