xPDK BB - General Views

Instead of defining a lot of somewhat hard-coded / fixed “views” on the “BB”, the PDAFlow concept of having BB's & View’s can be used also.
full file

 <bb name="myViews">
 <!-- PDAFlow views. The code in PDAFlow allocates the views & sets parameters.
       Here just arbitrary names and values.
  -->
  <view name="pdaLayoutView">
   <parameters>
     <parameter name="myWidth" type="int">42</parameter>
   </parameters>
  </view>
  <view name="pdaModelView">
   <parameters>
    <parameter name="myNeff" type="double">1.0/myWidth</parameter>
   </parameters>
  </view>
  <view name="pdaModelReference">
   <parameters>
    <parameter name="ref" type="string">WaveguideModel"</parameter>
   </parameters>
  </view>
  <!-- Some specialized views -->
  <SpecView name="loss">5 dB/cm</SpecView>
  <SpecView name="maturity">very high</SpecView>
  <CompactModel name="base" level="NonLinear"><file>SomeFile.yaml</file></CompactModel>
  <CompactModel name="advanced" level="NonLinear" >
   <parameters>
    <parameter name="W" type="int" min="10" max="500"
          doc="The width is key for this BB">
     42
    </parameter>
    <parameter name="L" min="0.5">
     3*myWidth+7.0
    </parameter>
   </parameters>
  </CompactModel>
  <boundary>
   <point x="0" y="-myWidth/2"/>
   <point x="myLength" y="-myWidth/2"/>
   <point x="myLength" y="myWidth/2"/>
   <point x="0" y="myWidth/2"/>
  </boundary>
 </bb>

Note

To keep the files “human editable” also, it is probably a good idea to have big simulation files not embedded in the file, but referenced.for now: seperate file per BB

So allowing multiple “view”s - one that references side files and one that has it embedded can make life easier later on when the files are likely generated fully.

Having the option to add views is maybe not needed in combination with foundry / vendor extensions, but if we can use the same view by multiple parties, it saves effort and then makes sense to incorporate.