- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
Switching different ports
I thought I could simply make the 3 inputs be connected to output ports, then assign the individual port names to variables inside a VAR (multiplexed by conditional if-else):
VAR
MY_VAR
PORT1=if (mode == 1) then IN1 elseif (mode == 2) then IN2 else IN3 endif
PORT2=if (mode == 1) then IN2 elseif (mode == 2) then IN1 else IN3 endif
PORT3=if (mode == 1) then IN3 elseif (mode == 2) then IN2 else IN1 endif
/* ^only a shortened example, not actual declaration */
/* "mode" is "Parameter Sweep"-ed */
These variables PORT1, PORT2, PORT3 are then the same name as the input ports (there's really no parameter in input ports to assign these values). So the intended effect is mapping the IN1, IN2, IN3 to PORT1, PORT2, PORT3 with the permutations afforded by the conditionals.
I quickly found out that that could never work as these are Simulator Expressions -- processes that happen before the numerical calculations are done, simply used as initial starting values for everything else.
Seems like I have to rely on Symbolically Defined Devices. I skimmed through the help file and realized that it a little bit too much to learn in a few day's time. So I was wondering if there was a more direct way of doing this?
ren_zokuken01 on Mar 20, 2016 9:47 AM
Perhaps we can have something similar to my original approach, but instead a function (below called "_Node") that will prompt the simulator to assume same nodes (shorts them):
IN1, IN2 and IN3 this time are wire labels PORT1, PORT2 and PORT3, likewise, are wire labels. Then we have a VAR:
VAR
MY_VAR
PORT1=if (mode == 1) then _Node(IN1) elseif (mode == 2) then _Node(IN2) else _Node(IN3) endif
PORT2=if (mode == 1) then _Node(IN2) elseif (mode == 2) then _Node(IN1) else _Node(IN3) endif
PORT3=if (mode == 1) then _Node(IN3) elseif (mode == 2) then _Node(IN2) else _Node(IN1) endif
/* ^only a shortened example, not actual declaration */
/* "mode" is "Parameter Sweep"-ed */
Neatly solved. But, I do admit, this might not go well with how the whole system works together.
ren_zokuken01 on Mar 20, 2016 9:55 AM
Another option is using a 3 port multiplexer that is purely a mapping function and does not introduce any electrical characteristic at all. Is there one in ADS?
I would be tempted to use switches to change the signal path or which source gets supplied to your circuit. This Knowledge Center example may be useful:
http://edadocs.software.keysight.com/display/eesofkcads/Static+1+to+8+switch+matrix+path+set+by+integer+from+0+to+7
http://edadocs.software.keysight.com/display/eesofkcads/How+to+Sweep+Decimal+Integer+to+Generate+Binary+Control+Word
This technique might be useful, too, which allows you to switch in different parts of a schematic without using switches:
http://edadocs.software.keysight.com/display/eesofkcads/How+to+Optimize+a+Schematic+While+Activating+or+Deactivating+Different+Parts
Is there a more elegant way, say, by setting the wire label using variables? I think the system really needs it, basing AEL functions on routing by wire labels rather than x and y coordinates.
I mean, sure x and y coordinates-based functions can add aesthetics and prevent tangled routing, but a change in dimension and alignment can make it all go bad.
ren_zokuken01 on Mar 21, 2016 1:42 AM
I'm trying to create a symbol for a very combinatorial multiplexer (doesn't add any electrical characteristic, just mapping for now).
For now, ignoring the select pin, we can have n-ary IN pins and one OUT pin, but how do you vary the connection between a single IN to the OUT pin, pre-simulation time? There is no schematic way of doing this. You're only left with programming components (http://edadocs.software.keysight.com/display/ads201101/Creating+New+Component+Definitions), which is a lot of trouble to learn just to a simple task done.
Looks like I have to resort to the idea in the last link you provided, but it can't be made neatly portable as it can't be made into a single component symbol. From what I understand, you can't insert a controller or optimizer in a symbol.
OK, I've just found these:
http://edadocs.software.keysight.com/display/ads2009/Switch+and+Algorithmic+Components
ren_zokuken01 on Mar 23, 2016 8:47 AM
申明:网友回复良莠不齐,仅供参考。如需专业帮助,请学习易迪拓培训专家讲授的ADS视频培训课程。
上一篇:Command SCPI
下一篇:How to have data block( For s parameter file in schematic) for more number of ports in ADS 2015.01
国内最全面、最专业的Agilent ADS培训课程,可以帮助您从零开始,全面系统学习ADS设计应用【More..】
- Agilent ADS教学培训课程套装
- 两周学会ADS2011、ADS2013视频教程
- ADS2012、ADS2013射频电路设计详解
- ADS高低阻抗线微带滤波器设计培训教程
- ADS混频器仿真分析实例视频培训课程
- ADS Momentum电磁仿真设计视频课程
- ADS射频电路与通信系统设计高级培训
- ADS Layout和电磁仿真设计培训视频
- ADS Workspace and Simulators Training Course
- ADS Circuit Simulation Training Course
- ADS Layout and EM Simulation Training Course
- Agilent ADS 内部原版培训教材合集