没有合适的资源?快使用搜索试试~ 我知道了~
DEV-Guide.pdf
试读
422页
需积分: 0 2 下载量 69 浏览量
更新于2022-12-14
收藏 3.5MB PDF 举报
《VPIphotonics Design Suite™ Developer Guide》是VPIphotonics GmbH提供的一款专业光电子设计软件的开发指南。该指南详细介绍了如何与VPIphotonics GmbH联系,并强调了对版权和许可协议的尊重。VPIphotonics GmbH保留所有权利,包括对专利和专有设计的注册权。
该手册和所描述的软件均根据许可协议提供,只能在协议条款允许的范围内使用或复制。未经VPIphotonics GmbH明确许可,禁止任何部分的非法分发、复制、复制、传输、使用或披露。违反者将承担损害赔偿责任。
技术规格和特性只有在书面合同中明确同意时才具有约束力。VPIphotonics GmbH对错误或遗漏不承担责任,并有权在无通知的情况下更改任何产品的规格、设计、价格或供应条件。
VPIphotonics Design Suite包含多个组件,如VPItransmissionMaker、VPIcomponentMaker、VPIlinkConfigurator、VPIlinkDesigner、VPIlabExpert、VPItoolkit、VPImodeDesigner、VPIplayer和dynamicDataSheet,这些都是VPIphotonics GmbH的商标。
此外,加州大学明确声明不承担任何直接、间接、特殊、偶然或后果性损失的责任,这些损失可能因使用此软件及其文档而产生,即使加州大学已被告知可能存在的损害风险。加州大学不提供任何明示或暗示的保证,包括但不限于适销性和特定目的适用性的默示保证。提供的软件“按原样”提供,加州大学没有提供维护、支持、更新、增强或修改的义务。
部分代码的版权归属1997年的麻省理工学院,所有权利保留。另一部分版权归属1991年至1995年的荷兰阿姆斯特丹数学中心(Stichting Mathematisch Centrum)。
该指南详细涵盖了使用VPIphotonics Design Suite进行光电子系统开发的基本步骤、软件功能、编程接口以及可能的集成方法。对于希望深入理解和开发基于该平台的定制解决方案的开发者来说,这是一份极其重要的资源。它将帮助开发者了解如何利用工具包中的各种模块来模拟、设计和优化光通信系统、光子器件和光学网络。
在实际应用中,开发者可以学习如何使用VPItransmissionMaker进行光波传输模拟,利用VPIcomponentMaker创建自定义光子组件,通过VPIlinkConfigurator和VPIlinkDesigner配置和优化光学链路,借助VPIlabExpert进行实验室级别的实验控制,而VPImodeDesigner则用于模式分析,VPIplayer用于回放和分析仿真结果,dynamicDataSheet则提供了动态数据报告功能。
《VPIphotonics Design Suite™ Developer Guide》为光电子领域的软件开发者提供了一个全面的指导,帮助他们充分利用这款强大的设计工具,推动技术创新并解决复杂的设计挑战。
VPIphotonics Design Suite™
Developer Guide
How to contact VPIphotonics GmbH
© 2018, VPIphotonics GmbH. All rights reserved.
This manual, as well as the software it describes, is furnished under a license agreement, and may be used or copied only under
the terms of the license agreement. Unauthorized distribution, copying, reproduction, transmission, use or disclosure of any part
of the contents of this copyright material without express permission by VPIphotonics GmbH is prohibited. Offenders will be held
liable for damages. All rights reserved, particularly with regard to the registration of patents and proprietary designs. Technical
specifications and features are binding only as they are specifically and explicitly agreed upon in a written contract. There is no
liability for errors or omissions. The company reserves the right to alter specification, design, price or conditions of supply of any
product or service without notice.
The VPIphotonics logo, VPI Design Suite, VPItransmissionMaker, VPIcomponentMaker, VPIlinkConfigurator, VPIlinkDesigner,
VPIlabExpert, VPItoolkit, VPImodeDesigner, VPIplayer and dynamicDataSheet are trademarks of VPIphotonics GmbH.
In no event shall the University of California be liable to any party for direct, indirect, special, incidental, or consequential
damages arising out of the use of this software and its documentation, even if the University of California has been advised of the
possibility of such damage. The University of California specifically disclaims any warranties, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose. The software provided hereunder is on an “as is” basis,
and the University of California has no obligation to provide maintenance, support, updates, enhancements, or modifications.
Portions are copyright 1997, Massachusetts Institute of Technology. All Rights Reserved. Portions are copyright 1991–1995 by
Stichting Mathematisch Centrum, Amsterdam, The Netherlands. All Rights Reserved. Portions are copyright 1990–1997, The
Regents of the University of California. All Rights Reserved.
Microsoft, MS-DOS, Access, Excel, Outlook, PowerPoint, Windows and Windows Vista are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or other countries.
Intel® Math Kernel Library is a registered trademark of the Intel Corporation.
Flexera, FlexNet Publisher, and FlexNet Licensing are registered trademarks or trademarks of Flexera Software LLC in the
United States of America and/or other countries.
MATLAB is a registered trademark of The Math Works, Inc.
Advanced Design System (ADS) is a trademark of Keysight Technologies.
Unicode and the Unicode logo are registered trademarks of Unicode, Inc.
Python is a registered trademark of the Python Software Foundation (PSF).
All other brand and product names mentioned herein are the trademarks and registered trademarks of their respective owners.
www.VPIphotonics.com Web site
info@VPIphotonics.com General information
sales@VPIphotonics.com Sales, ordering information
support@VPIphotonics.com Technical support, license key requests
April 2018. Document Part Number: TC0-UM03-08 18079
Developer Guide iii
Contents
Preface xi
Optical Design and Configuration Documentation Library . . . . . . . . . . . . . . . . . . . . . . . xi
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Chapter 1 Macros 1
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Tcl Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Grouping: Double Quotes and Braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Math Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Tcl Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Execution Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Python Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Statements and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Blocks and Indentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Variables and Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Modules and Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Math Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Locating, Creating and Running Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Attaching a New Macro to an Existing Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Editing Macros in Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating and Editing Macros for General Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iv VPIphotonics Design Suite™
Macro Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Python Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Adding Python Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Installing Third-Party Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Web Access to Macro API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Controlling the Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Principles of the Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Transfer of Files to and from the Remote Party . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Introduction to Macro Commands by Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Building a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Identifying Packages using a URN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Creating a New Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Working with an Existing Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Selecting and Placing Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Working with Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Connecting Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Adding Text to a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Selecting Modules on a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Resizing and Redrawing a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Repositioning an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Setting a Bitmap for a Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Saving a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exporting a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Running a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Interrogating a Schematic and Finding its Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
User Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Generating a Wizard Dialog Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Generating Wizard Dialogs with Multiple Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Adding Messages to the Message Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Displaying Alerts and Simple Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Requesting Input with Query Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Placing Labels on a Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Separating Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Data Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Controlling Wizard Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
External Program Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Open Word Document, Edit, Display Contents, Close Word . . . . . . . . . . . . . . . . . . . 62
Open Excel Document, Edit, Set Instance Parameter, Close Excel . . . . . . . . . . . . . 64
Developer Guide v
Creating Sweeps from Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Defining a Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Defining Sweep Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Module Sweeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Miscellaneous Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Useful Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Creating Dangling Ends to Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Running a New Process from a Python Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Chapter 2 Cosimulation 69
The Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Creating the Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Mapping Signals to Data Structures in the Target Environment . . . . . . . . . . . . . . . 74
Function Parameters Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Additional General Cosimulation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Cosimulation with MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Setting Up the Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Handling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Mapping VPI Signals to MATLAB Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Debugging MATLAB Cosimulation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Using the MATLAB Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
The Fast MATLAB (Matlab_Fast) Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Cosimulation with Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Setting Up the Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Errors and Warning Messages in Python Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Python Cosimulation Package vpi_tc_ptcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Handling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Mapping VPI Signals to Python Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Using the Python Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Cosimulation with Dynamic-Link Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Setting Up the Cosimulation Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Handling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Mapping VPI Signals to C Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Simulation Environment Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Additional Compiler Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
剩余421页未读,继续阅读
资源推荐
资源评论
155 浏览量
2019-12-23 上传
2022-09-24 上传
2011-09-06 上传
5星 · 资源好评率100%
122 浏览量
5星 · 资源好评率100%
199 浏览量
187 浏览量
134 浏览量
154 浏览量
2012-09-11 上传
2021-10-26 上传
2009-06-06 上传
2008-11-27 上传
125 浏览量
资源评论
瘦尽灯花813
- 粉丝: 2
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计Jupyter Notebook基于深度网络的垃圾识别与分类算法研究项目源代码,用PyTorch框架中的transforms方法对数据进行预处理操作,后经过多次调参实验,对比不同模型分类效果
- 1221额的2的2的2额
- 基于python第三方库pybloom-live实现的redis布隆过滤器类
- 快速排序算法在Rust语言的实现及其优化
- 微藻检测10-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 人工智能领域计算断层成像技术研究最新进展综述
- 基于java的公司固定资产管理系统.doc
- 柑橘多种疾病类型图像分类数据集【已标注,约1,000张数据】
- 2025年 UiPath AI和自动化趋势:代理型AI的崛起及企业影响
- 基于Java的环境保护与宣传网站的设计与实现毕业论文.doc
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功