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

Таблица выводов земли и питания ?

Символы (УГО) и схема созданы в PowerLogic. При этом стандартные земля и питание определены как Signal Pins, и на схеме эти пины не появятся. А по ГОСТу их надо показать, например, в виде таблицы.

Как это сделать ?

(Можно просто нарисовать таблицу и вписать ручками, но слишком велика вероятность ошибок, хочется это получить от PowerLogic)

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


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

Я в DxDesigner для этих целей включаю видимость значения атрибутов "SIGNAL" (описывающих подключение выводов земли, питания). Оно не совсем то, о чём Вы спрашиваете, но частично проблему решает.

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


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

Спасибо, не знаю, есть ли такая возможность в PowerLogic.

Если прописать выводы земли и питания в явном виде (т.е. если отказаться от Signal Pins), повысится вероятность ошибочного подключения этих выводов.

А можно ли получить репорт о Signal Pins ?

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


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

Символы (УГО) и схема созданы в PowerLogic. При этом стандартные земля и питание определены как Signal Pins, и на схеме эти пины не появятся. А по ГОСТу их надо показать, например, в виде таблицы.

Как это сделать ?

(Можно просто нарисовать таблицу и вписать ручками, но слишком велика вероятность ошибок, хочется это получить от PowerLogic)

 

В принципе можно написать макрос для этого.

 

Но можно поступить и просто:

-открыть файл нетлиста, в нем практически в самом начале расписана каждая цепь, например для схемы из примеров PREVIEW:

*NET*

*SIGNAL* GND

J1.1 J1.2 R5.2 Q1.3 C8.2

C9.2 C2.2 C3.2 C4.2 C5.2

C6.2 C7.2 C1.2 C10.2 D2.K

D1.K U1.14 U2.14 U4.8 U5.7

U7.10 U6.7 Y1.2 U3.8

*SIGNAL* +5V

R1.2 J1.26 R2.2 Q1.2 C9.1

C2.1 C3.1 C4.1 C5.1 C6.1

C7.1 C1.1 R7.1 C10.1 U1.28

U2.28 U4.16 U5.14 U7.20 U6.14

Y1.4 U3.16

 

Т.е практически таблица с номерами компонентов и выводов подключенных к земле и питанию. Нужно только скопировать это в файл и форматировать, затем разместить в схему.

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


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

Спасибо, Александр, но способ через нетлист совсем не годится.

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

А вот Signal Pins - т.е. стандартные выводы земли и питания - подключаются неявно, через назначение Edit_Electrical, на схеме они не появляются. Вот их-то и надо прописать в таблице. А в списке цепей я никаким образом не могу разделить контакты подключенные разными способами.

Подскажите, как выделить контакты, прописанные в Signal Pins ?

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


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

Jul,

 

Вот скрипт, который находит сигнальные пины, но может формат отчета не совсем тот:

 

Dim signal As String

Sub Main

report = DefaultFilePath & "\report.rep"

Open report For Output As #1

Print #1, "Signal Pins for "; ActiveDocument; " on "; Date

sep = Chr(9)

item = 1

For Each comp In ActiveDocument.Components

For Each Pin In comp.Pins

signal = SigName(Pin)

If signal <> "" Then

Print #1, item;

Print #1, sep; Pin.Name;

Print #1, sep; comp.PartType;

Print #1, sep; signal;

Print #1

item = item + 1

End If

Next

Next

Close #1

Shell "notepad " & report, 1

End Sub

 

Function SigName (pin As Object) As String

Dim Gate As Object

Dim Net As Object

Dim Name As String

Name = ""

If Pin.Gate Is Nothing Then

If Pin.Net Is Nothing Then

Name = ""

Else

Name = Pin.Net.Name

End If

End If

SigName = Name

End Function

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


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

З.Ы. Автоматизация не имеет метода для выдачи сигнальных пинов, но вот цепи определяет как для явно подключенных выводов, так и для Signal Pins. Остается отфильтровать выводы, попадающие в гейты. В итоге получаем, что вывод, не попавший в гейт, но принадлежащий цепи -- это и есть Signal Pin.

 

Вот отчет для тестовой схемы:

 

Signal Pins for previewchange.sch on 11/08/06

1 U1.14 87C256 GND

2 U1.28 87C256 +5V

3 U2.14 87C256 GND

4 U2.28 87C256 +5V

5 U3.8 AM100415 GND

6 U3.16 AM100415 +5V

7 U4.8 AM100415 GND

8 U4.16 AM100415 +5V

9 U5.7 CD4001B GND

10 U5.14 CD4001B +5V

11 U6.7 CD4069 GND

12 U6.14 CD4069 +5V

13 U7.10 PAL16R8 GND

14 U7.20 PAL16R8 +5V

15 Y1.2 24-576MHZ GND

16 Y1.4 24-576MHZ +5V

Изменено пользователем Fellow

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


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

Jul попробуй вот этот скрипт.

 

'This script add SignalPins tab.

'It will create reports in Text format.

'For better look, turn off 'Word Wrap' item in the Edit menu of Notepad and use Courier or any other fixed width font.

 

'Arrays of column name and widths. You can modify them to rename, shrink, or expand columns

Const Columns = Array("Поз.", "Вывод", "Цепь")

Const Widths = Array( 8, 6, 6, 22)

 

Sub Main

fname = ActiveDocument

If fname = "" Then

fname = "Untitled"

End If

report = DefaultFilePath & "\" & "Part Report1.rep"

Open report For Output As #1

'Output report header

Print #1, "Part Report for "; fname

Print #1

 

StatusBarText = "Generating report..."

'Output table header

CurCol = 0

For i = 0 to UBound(Columns)

OutCell Columns(i)

Next

Print #1

'Output table rows

For Each part in ActiveDocument.Components

CurCol = 0

If GetSignalPins(part).Count = 0 Then GoTo LL

For Each aPin In GetSignalPins(part)

CurCol = 1

OutCell2 part.Name

OutCell1 aPin.Number

OutCell3 ObjName(aPin.Net)

 

Print #1

Next aPin

Print #1

Print #1

LL:

Next part

 

Print #1

 

StatusBarText = ""

Close #1

'Do not forget quotes for file name!

Shell "Notepad " & Chr(34) & report & Chr(34), 1

End Sub

 

 

'Returns collection of signal pins in the given part

Function GetSignalPins(obj As Object, Optional Sorted As Boolean = False)

Set GetSignalPins = ActiveDocument.GetObjects(0)

For Each aPin In obj.Pins

If aPin.Gate Is Nothing And Not aPin.Net Is Nothing Then

GetSignalPins.Add aPin

End If

Next

If Sorted Then GetSignalPins.Sort

End Function

 

'Pins are not sorted by default (performance issue), so sort them explicitly in report

Function GetSortedPins(obj As Object)

Set GetSortedPins = obj.Pins

GetSortedPins.Sort

End Function

 

Function ObjName (obj As Object)

ObjName = IIf(obj Is Nothing, "", obj)

End Function

 

Dim CurCol As Integer 'Current column index staring from 0

 

Sub OutCell (txt As String)

w = Widths(CurCol)

txt = Left(txt, w)

Print #1, txt; Space(w - Len(txt)); " | ";

CurCol = CurCol + 1

End Sub

Sub OutCell1 (txt As String)

w = Widths(CurCol)

txt = Left(txt, w)

Print #1, txt; Space(w - Len(txt)); "= ";

CurCol = CurCol + 1

End Sub

Sub OutCell2 (txt As String)

w = Widths(CurCol)

txt = Left(txt, w)

Print #1, txt; Space(w - Len(txt)); "( ";

CurCol = CurCol + 1

End Sub

Sub OutCell3 (txt As String)

w = Widths(CurCol)

txt = Left(txt, w)

Print #1, txt; Space(w - Len(txt)); " ) ";

CurCol = CurCol + 1

End Sub

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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