AltiumDesigner创建FPGA多引脚元件库

AltiumDesigner创建FPGA多引脚元件库

摘要

对于具有484个引脚的芯片,如果手动一个一个设置引脚,必然是一场噩梦。网上有使用Capture进行自动导入的帖子,不过没有找到AD方面的帖子。本文使用python,编写脚本,自动分配引脚。一切重复单调的工作,都交给python吧。

元件库

1、打开已有的原理图库文件,或者新建。
2、添加->命名。
3、工具->新部件。(原谅我使用了汉化版)
4、放置->矩形。

FPGA芯片pkg文件

这个文件包含了对应型号FPGA芯片的引脚说明。ug475
在第2章中,找到pkg文件链接,保存到本地。比如我需要的是xc7a100tfgg484pkg.txt
新建一个xls表格文件,将txt导入。(数据->自文本)

python工具

使用python的模拟鼠标键盘输入插件,编写几行代码,就可以实现。关于python如何模拟鼠标键盘输入功能,可自行百度解决。

def createPin(sum):
    x = 900
    y = 114
    delta = 8
    mouse_click(500, 300)
    key_input('pp')
    for i in range(0,sum):
        mouse_click(x, y+i*delta)
    mouse_rclick(500, 300)

这段代码的作用是在矩形框上新建引脚,想想自己手动是怎么建的,这个代码就是怎么写的。

def setPin(str):
    str = str.replace('\t',' ')
    str_split = str.split(' ')
    mouse_dclick(100, 567)
    key_input(str_split[1].lower())         
    win32api.keybd_event(VK_CODE['tab'],0,0,0)
    win32api.keybd_event(VK_CODE['tab'],0,win32con.KEYEVENTF_KEYUP,0)
    time.sleep(0.1)
    key_input(str_split[0].lower())
    win32api.keybd_event(VK_CODE['enter'],0,0,0)
    win32api.keybd_event(VK_CODE['enter'],0,win32con.KEYEVENTF_KEYUP,0)
    time.sleep(0.1)

def setPins():
    file_object = open("data.txt",'r')
    for str in file_object:
        setPin(str.strip('\n'))

这段代码的作用是设置每个pin的属性,从data.txt文件中读取每一行,每一行形如“H8 VCCINT“。第一个是引脚位置编号,第二个是引脚名称。

if __name__ == "__main__":
    #make sure input mathod is English
    createPin(50)

    #make CapsLK is Clicked
    #setPins()

这是main函数,先执行createPin(50),自动创建50个引脚,可能需要调整矩形的位置。然后注释createPin(50),执行setPins(),自动设置每个引脚的属性。
注意,由于引脚很多,一般原理图是分BANK,所以,每次需要把xls的Pin和Pin Name两列数据,分BANK复制到data.txt中。第一次,复制BANK14的引脚数据,第二次,复制BANK15的引脚数据。其实可以直接用python读取xls文件读取引脚数据,后面在完善吧。

还需要做的事情

做完原理图,还需要做封装,可以使用向导,制作起来还是很方便的。

代码下载

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值