- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
AD设计fpga的时候,在原理图里面改管脚名,有什么方便的方法吗?
{..............................................................................}
{ Summary Demo how to fetch pins of components. }
{ }
{ Copyright (c) 2008 by Altium Limited }
{..............................................................................}
{..............................................................................}
Procedure FetchPinsOfComponents_U1;
Var
CurrentSch : ISch_Sheet;
Iterator : ISch_Iterator;
PIterator : ISch_Iterator;
AComponent : ISch_Component;
AnIndex : Integer;
ReportList : TStringList;
Pin : ISch_Pin;
Document : IServerDocument;
Begin
// Check if schematic server exists or not.
If SchServer = Nil Then Exit;
// Obtain the current schematic document interface.
CurrentSch := SchServer.GetCurrentSchDocument;
If CurrentSch = Nil Then Exit;
// Look for components only
Iterator := CurrentSch.SchIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eSchComponent));
ReportList := TStringList.Create;
Try
AComponent := Iterator.FirstSchObject;
While AComponent <> Nil Do
Begin
if AComponent.Designator.Text = 'U1' Then // change to the designator number you want.....
Begin
ReportList.Add(AComponent.Designator.Name + ' ' + AComponent.Designator.Text);
ReportList.Add(' Pins');
Try
PIterator := AComponent.SchIterator_Create;
PIterator.AddFilter_ObjectSet(MkSet(ePin));
Pin := PIterator.FirstSchObject;
While Pin <> Nil Do
Begin
{ ReportList.Add(' Name: ' + Pin.Name + ' Designator: ' + Pin.Designator); }
ReportList.Add(' Name: ' + Pin.Name + ' Designator: ' + Pin.Designator);
Pin := PIterator.NextSchObject;
End;
Finally
AComponent.SchIterator_Destroy(PIterator);
End;
ReportList.Add('');
End;
AComponent := Iterator.NextSchObject;
End;
Finally
CurrentSch.SchIterator_Destroy(Iterator);
End;
ReportList.SaveToFile('d:\PinReportU1.Txt');
ReportList.Free;
// Display the report for all components found and their associated pins.
Document := Client.OpenDocument('Text','d:\PinReportU1.txt');
If Document <> Nil Then
Client.ShowDocument(Document);
End;
{..............................................................................}
{..............................................................................}
End.
我是用ORCAD来做这种多管脚的封装,ORCAD支持导入EXCEL表格。
AD做这种类似的封装,我一直没去尝试它。
altium 可以利用 datasheet 或 excel 来快速建立多管脚的器件库,具体的文档你可以查看altium相关的操作说明。
类似的资料汇总 在 【给初学3-...】系列汇总帖中有过汇总,链接地址略,网上找不到时可到pcbbbs论坛找寻之前的资料汇总。
altium不同的版本对某些字符的处理方式不同,仅提示: 比如某些版本 对 软回车 或硬回车 的处理(或者理解为兼容性)不同...
说明一下,我语文是体育老师教的,没讲清楚啊,请谅解。
1. 已经建立了原件库了,用的是excel导入的方法,smart grid tool,搜一下这个关键词就可以找到。
2. 库里的原件各个管脚是通用名,直接就是从datasheet上来的。
3. 做到具体不同的产品,fpga的管脚都有各自项目直接的管脚信号名。
4. 在原理图里面,直接改component的管脚名,这个改名只是在这个特定的altium project里面,就只是为了每个特定项目调试和测试方便,直接根据fpga内部的设计文件定义的各个信号命名直接用到原来图里面的管脚名上面。
5. 在原理图里面,直接双击一个器件,出porperties窗,左下角可以点edit pins,可以改管脚名,但是只能一个一个改,没办法选中一些管脚直接copy&paste。 一个fpga有几百个管脚,一个一个改要累死啊,所以想是不是用脚本直接自动改原理图里面的管脚名。不是要改库里面的管脚名,库里面的原件是不更改的。
谢谢
SCH List也支持Edit並將資料粘貼的功能
1.雙擊器件,不勾選Lock Pins
2.選中該器件其中一個pin來做Find Similar Object.
3.FSO條件將 Object Specific區段的Owner設置為Same.這樣可以選中該器件的全部Pin
4.開啟SCH List面板 上方左到右設置為Edit / Selected Objects / Current Document / Pin
5.你就可以針對下方用粘貼(EXCEL複製的資料)的方式將資料覆蓋過去
建議粘貼前先做排序(Sort)確保粘貼的數據順序是一致的
^_^ ^_^ 春节快乐!
icm 的方法可以在 原理图 或 原理图库 界面 内进行,此时 altium 的器件名 不会因器件修改而自动改变,建议为了避免后期不必要的错误,通常可以将 需要进行管脚重分配的器件做更名处理(以区别和原始库文档中的初始库)。
另外,FPGA的管脚调整 可参 其他的资料进行:关键字 如 “ FPGA-PCB管脚同步” “管脚交换功能” 等
建议小编 在讨论类似话题时 给一个简单 的案例过来,这样 关注的网友可快速交互式的进行试操作和交流
后来想想,其实可以改ad自己带的那个导入pin到lib的脚本文件。aD的脚本看着还是比较强大,就是对Delphiscript和vbscript不精通,也没找到什么好的教程。有人有好的推荐吗?谢谢
脚本的学习和使用不妨 去 allegro 或 pads 论坛看看,里面有相关的脚本文档学习沟通(就看你能否搜索到之前沟通的内容了)
altium脚本沟通见的比较少