“这么说吧,对于我们项目组即将设计的这款eda软件,并没有大家想象中的那么复杂。我把它称之为面向对象的eda软件设计。”
“在这里我先假设每一个由现有技术能够制作出的结构都是一个对象。这些对象我将之分成了四种类型。”
“它们分别是元,即现有技术能够制作的最小结构单位,这个单位是可以随着技术的突破而更新的。”
“组,若干个元彼此连接、排列形成的具有单一功能的结构。”
“群,若干个功能相同或不同的组彼此连接、排列形成的能够独立完成某一特定功能的结构。”
“容器:用以承装元、组或群的结构。”
“每一个对象要都包含属性和函数两部分。”
“属性不仅包含该对象的物理属性,如尺寸、大小等,还包含该对象的索引与表示属性,如代表符号、统一序号等,还包含了该对象的布局属性,如连接方式和排列方式等。函数则必须有输入参数和返回值,是对对象功能的描述,如单项导通、放大、截止等。”
宁为对照着昨天赶出的t,给项目组成员表述着他的基础设计理念。
“从这种视角,大家应该看出我们的eda设计思路其实很简单,一方面我们要让操作者很轻松的将代表不同类型对象的符号在设计界面上进行定位和排列并进行接线;另一方面,操作者的所有操作实际上是计算机后台将对象的函数彼此串联调用,最终形成一个大函数过程。”
“以上是对设计过程的要求。同时,我们的eda软件要具备仿真功能。eda仿真过程是向大函数过程输入参数并记录反馈结果的过程,也包括对各个子过程之间传递的参数和返回值的监测。”
“eda实例化过程需要将对象的布局位置和排列方式生成运行脚本以便控制光刻机进行生产和制造。”
“由以上需求,我们直接引导出软件结构。”
“对象库:用于定义现有的对象并保存未来新设计的对象。”
“函数库:用于保存现有或未来新增对象的函数。”
“设计界面:用于对对象进行布局、排列和连接。”