3. 如何快速批量绑定或删除管脚配置

3.1. 快速绑定管脚

如图 78‑1所示,在OV772摄像头 VGA图像章节的工程中有大量的输入输出管脚需要绑定,仔细数数大概有74个管脚之多,如果我们像之前一样一个一个对照原理图在Pin Planner界面中绑定的画需要很长的时间才能完成,稍不留神而且还有可能会出错,检查起来也很麻烦,错误的管脚绑定很有可能在板子上电后损坏器件。所以我们需要学会一种快捷、准确、高效的管脚绑定方法。

pin002

图 78‑1

幸运的是Quartus软件本身就具备这种高级的功能,下面就让我们来一起学习下。

我们在资料中给大家提供了一个名为“ZT_Pro.tcl”的Tcl脚本,如图 78‑2所示,用Notepad++打开后发现,这里包含了所有的关于“征途Pro”开发板上用到的可控外设的管脚配置信息,这些管脚的配置都是经过下板验证后导出的,保证是正确的。我们还可以看到在Tcl脚本中设置管脚绑定的基本格式, “set_location_assignment”表示的是进行管脚的位置约束,后面紧跟的是在该芯片中管脚的位置,“-to”后面紧跟的是我们设计的RTL代码顶层的管脚名,每行结束后没有分号,注释用“#”。

pin003

图 78‑2

有了最完整的Tcl脚本就好办了,我们只需要把“ov7725_vga_640x480”工程所用到的管脚绑定留下其余的都注释掉即可。如图 78‑3所示,为了方便管理,我们推荐每个工程用一个独立的Tcl脚本。所以我们在“ov7725_vga_640x480”的“project”文件夹下新建一个名为“ov7 725_vga_640x480.tcl”的Tcl脚本(如果不把Tcl脚本放在工程文件夹下软件将无法自动识别出,需要将Tcl脚本先添加到工程中后才能够自动识别出),然后从“ZT_Pro.tcl”将我们本工程用到的管脚绑定拷贝进来,如果RTL代码中的端口名和我们给出的Tcl脚本中的命名不一致则需要进行替 换,否则不需要做任何改动。做好的“ov7725_vga_640x480.tcl”的Tcl脚本如图 78‑4所示。

pin004

图 78‑3

pin005

图 78‑4

①使用“Toos——>TCL Scripts…”的方法加载Tcl脚本。

如图 78‑5所示,在打开的QuartusII工程界面中点击“Tools”下的“TCL Scripts…”,弹出如图 78‑6所示窗口,我们可以看到在“Libraries:”中的“Project”文件夹下已经自动识别出我们新建的包含管脚绑定信息的Tcl脚本了。

pin006

图 78‑5

pin007

图 78‑6

如图 78‑7所示,选中“ov7725_vga_640x480.tcl”后在“Preview:”中看到Tcl脚本中的内容(由于在13.0中对中文的支持性不友好,所以中文注释会被识别成乱码),同时下面的“Run”被点亮,可以直接点击“Run”加载Tc’l脚本。

pin008

图 78‑7

如图 78‑8所示,提示Tcl脚本执行,我们点击“OK”。

pin009

图 78‑8

如图 78‑9所示,Tcl脚本执行完毕后,我们可以在Pin Planner界面中发现所有的管脚都已经被绑定好了。

pin010

图 78‑9

②使用“View——>Utility Windows——>Tcl Console”的方法加载Tcl脚本。

如所示,在打开的该项目的QuartusII工程界面中点击“View”下的“Utility Windows”下的“Tcl Console”,弹出如所示窗口。

pin011

图 78‑10

pin012

图 78‑11

如图 78‑12所示,我们直接将Tcl脚本中的内容复制并粘贴到该位置即可在Pin Planner界面中发现所有的管脚都已经被绑定好了。

pin013

图 78‑12

我们还可以通过导入csv文件或txt文件(文件内容格式这里不再展开讲解)的方式绑定管脚,同样要将csv文件或txt文件放到工程目录下,然后在打开的QuartusII工程界面中点击“Assignments”下的“Import Assignments…”,选择加载包含管脚信息的“.cvs”或“.txt”文件即可。

3.2. 快速删除管脚

如果我们需要将像OV7725摄像头 VGA图像章节这样有大量的输入输出管脚的工程中已经绑定好的管脚信息全部删除的话,在Pin Planner界面中选中某一个信号一个一个操作也是一件很繁琐的工作,所以我们需要学会一种快捷、高效删除已绑定管脚的方法。

如图 78‑13所示,在打开的QuartusII工程界面中点击“Assignments”下的“Remove Assignments…”,弹出如图 78‑14所示窗口,可以看到在“Available assignment categories”下有很多可以选择要删除的项目,我们勾选第三个方框(Pin, Location & Routing Assignments),然后点击“OK”。

pin014

图 78‑13

pin015

图 78‑14

如图 78‑15所示,此时我们在Pin Planner界面中发现所有的管脚绑定都已经被清空了。

pin016

图 78‑15

我们也可以通过打开工程目录下的“.qsf”文件,删除关于管脚绑定的信息,每次综合完整后“.qsf”文件的信息才会被更新。

3.3. 导出Tcl脚本

当我们自己手动绑定好管脚后,可以直接导出包含绑定管脚信息的Tcl脚本。如图 78‑16所示,我们选中一个管脚后右击鼠标,选择“Export…”,弹出如图 78‑17所示窗口,选择我们需要导出的文件类型和存放文件的位置,在“保存类型(T):”中可以选择导出文件的格式,“.tcl”格式的文件就是Tcl脚本文件,名字默认为工程名,设置好以后点击“Export”即可生成包含管脚绑定信息的Tcl脚本。

pin017

图 78‑16

pin018

图 78‑17

如图 78‑18所示,找到并打开我们导出的Tcl脚本,可以看到注释中所包含的一些信息,以及我们所绑定的所有管脚信息。

pin019

图 78‑18