Перейти к содержанию
    

С длинами всё есчё интересней:

#
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

В результате вообсче никаких телодвижений:

post-25329-1222345006_thumb.jpg

Мдя....

:help:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

эээ... а где собссно группа? Вижу только одну цепь, точнее фром-ту цепи. Возможно группа просто даже не создалась?

А вообще я не уверен, что эту топологию делают автоматом. Унас все референс-дизайны сделаны в Аллегро. Так вот, любопытства ради я тихонько утащив их домой и открывая в Аллегро передавал в Спекктру, чтобы посмотреть как родная система генерит на них ДО-файлы. Почти на всех платах есть ДДР2, разведена именно так, как Вы это хотите, но НИ В ОДНОМ файле не описана именно топология этих цепей... Правила - да, длины для байт-групп данных - да, зоны трассировки(через задание регионов) - тоже да, каждая пара определена через свой класс, для всех пар(соответственно классов) определены правила класс-класс и т.п., но нигде ни одного виртуального пина и прямого указания топологии через from-to. То ли это делалось вручную, то ли еще как - не знаю, но таких конструкций в "родной" системе увидеть не удалось:(

 

ЗЫ Так что я просто отказался от мысли делать это в Спекктре, руками проще и быстрее. Да и топология в общем прозрачная, на глаз все видно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Uree - ага...благодарствую..

На счёт группы

define (group CLK_N_00 (fromto "R191"-"2" "IC9"-"J8"))

А это как понимать ? По идее это и задаёт группу с fromto..

 

И есть есчё вопрос:

Задам я значит рулезы. Теперь нужно тянуть дифпару ручками..

А как ручками в спекктре тянуть дифпару ?? А то что то нашёл только одиночный проводник...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так сразу не вспомню, но где-то на правой кнопке висит меню Setup, на одной из его закладок надо поставить птицу разрешения водить дифпары. Правда у меня они нормально так и не смогли водиться:(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

просто можно зацепить сразу два пина карандашом и они будут вестись по описанным правилам (как лупой). Только если линии уже есть надо концы линий захватывать. Для этого они должны быть рядом. Так можно много захватывать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Uree, Vlad-od - благодарствую.

Вроде водится, счас пропишу rules`ы и попробую :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есчё интересное наблюдается

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 мм для пары

post-25329-1222435779_thumb.jpg

Всё вроде верно.

Теперь я пробую вести ручками и вижу, что Specctrа только зазор соблюдает а на разницу между вайрами ей наплевать

post-25329-1222435786.gif

Координаты по оси для падов - 41.9 мм и 43.7 - 0.5 мм разброс тут вообсче не наблюдается. Наблюдается гораздо больший...

Почему Specctrа не соблюдает правила который в принципе видно что она скушала ?

 

 

Как тут быть ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто не все задано, что нужно Спекктре для корректной трассировки пары. Посмотрел в дизайн, вытащил отчет для пары ЮСБ - посмотрите что задано для цепей задайте то же самое, должно помочь. По идее нужно задавать все, что написано в 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть получается если не всё задано - то воспринимать не будет - хм.. интересно...

Счас пороюсь в доках, а то не совсем ясно как задавать

diff pair min line spacing

diff pair gather control

diff pair positive/negative coupled tolerancе

 

и попробуем :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы уточнить по коммандам:

diff pair min line spacing - это который spacing. только для дифпары , так ?

На счёт diff pair gather control - что-то вообсче не нашёл :crying:

На счёт positive/negative coupled tolerancе - нашёл только стандартный tolerancе, а как с него coupled positive/negative получить??

 

Кстати нашёл различие - в литературе(там где примеры)- обычно обзывают дифпару. потом делают класс и для класа задают кучу рулезов.. Попробую этот путь..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага , нашёл параметры - не сильно они распространены оказались.

В результате я выродил такой 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)

Посмотрел по закладкам:

post-25329-1222681234_thumb.jpg

post-25329-1222681244_thumb.jpg

post-25329-1222681263_thumb.jpg

 

Вроде верно всё..

Потом нажимаю на пиктограммку

post-25329-1222681368.gif

И вижу всё ту же картину

post-25329-1222681399.gif

:help:

Я что-то совсем запутался..... :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал даже задать все параметры для класса, нетов в классе и PCB.. Результат аналогичный - тянет как на вышеприведённом рисунке - при чём я замерял - разница в координатах 1.8 мм для КП SMD откуда они начинают вестись...

Отчего такая кака творится ?? Почему спекктра игнорирует все правила которые я ей задал.. ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если пощёлкать туда-сюда флажки?

Например, Phase Tolerance Type - что такое?

Что если вместо Length выставить Delay?

 

Я обычно применяю метод околонаучного тыка, а когда уж совсем ничего не выходит - делать нечего, приходится читать документацию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я нажимаю следующую пиктограмму и руками сдвигаю проводники. Зазор при этом Спекктра выдерживает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...