论文部分内容阅读
随着电路板上器件的密度不断增大、信号的速度不断提高,为电路板的审查带来巨大挑战。根据摩尔定律,单位面积上可集成的器件每18个月数量提高一倍、性能提升一倍。即意味着,电路板上的器件密度和布线密度不断增大,层数也在不断增多,体积却在不断变小。这些器件越来越密集、速度越来越快的电路板都为板级的设计与审查带来了巨大困难。通过传统的人工审查方式已经不切合实际。大量的审查工作需要EDA软件的辅助来完成。目前主流的EDA软件虽然都有种类繁多的审查规则,但仍然无法满足每个开发者的需求。而且,每个开发者的审查理论方法也是不尽相同的。拥有先进审查理论的团体和个人由于技术保密原因,也不会在传统的EDA中共享自己的理论。所以,如何实现开发者可以方便快捷地自定义审查规则,成为当前亟待解决的问题。对于规则的开发来说,使用高级语言可以使开发者不必过于关注软件的底层实现,只需着重理论方法研究即可。机器不能直接运行高级语言,使用高级语言编写的软件需要翻译成机器语言才能在机器上执行。翻译方式有两种:一种是编译,一种是解释。编译的方式要比解释的方式运行效率高,而解释的方式要比编译的方式简单、方便、快捷。对于需要编码的硬件工程师来说,显然第二种翻译方式是合适的。脚本语言大部分正是解释运行型而非编译运行型,在完成脚本语言代码的编写工作后,可以在解释器中直接运行代码。这样大大简化了软件开发过程,节省了成本和时间。Python脚本语言不仅是解释运行型语言,它还是可嵌入型语言。同时,Python脚本的底层实现是C语言,这为Python嵌入C/C++开发的软件带来了方便。针对上述问题和现状,本文经过对Python脚本扩展和嵌入方法的研究,提出了一种在PLV(PCB Layout Verify)系统中扩展嵌入的Python脚本子系统的详细设计方法。PLV是一款电路板设计审查软件。Python脚本系统不仅嵌入到PLV软件中,而且PLV软件暴露底层单步审查函数来扩展Python系统。这样,规则开发者就可以使用Python语言来调用底层函数实现自己的审查规则。另外,在本系统中为了方便管理、存储和共享脚本规则,设计了基于Client/Server架构的本地数据库和服务器数据库。服务器数据库不仅可以存储管理脚本,还能够实现脚本在一个课题组或者一个部门内共享。而本地数据库存储的是本机使用者的审查规则。在文章的最后阶段中,设计了具有代表性的测试方案与实例。测试的结果表明,开发者可以很简便地在本系统中编辑规则脚本,并且顺利执行审查,得到正确的审查结果。得到这样结果的意义是,实现了审查规则可制定,制定规则简易,审查结果精度较高的目的。