对于具有484个引脚的芯片,如果手动一个一个设置引脚,必然是一场噩梦。网上有使用Capture进行自动导入的帖子,不过没有找到AD方面的帖子。本文使用python,编写脚本,自动分配引脚。一切重复单调的工作,都交给python吧。
元件库
1、打开已有的原理图库文件,或者新建。
2、添加->命名。
3、工具->新部件。
4、放置->矩形。
这个文件包含了对应型号FPGA芯片的引脚说明。ug475
在第2章中,找到pkg文件链接,保存到本地。比如我需要的是xc7a100tfgg484pkg.txt
新建一个xls表格文件,将txt导入。(数据->自文本)
使用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(' ',' ')
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('
'))
这段代码的作用是设置每个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文件读取引脚数据,后面在完善吧。
还需要做的事情
做完原理图,还需要做封装,可以使用向导,制作起来还是很方便的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)