ChirpSignalGenerator.vhdlamsmodel 17.6 KB
<?xml version="1.0" encoding="ISO-8859-1"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vhdlams="http://www.femto-st.fr/disc/vhdlams.ecore">
  <vhdlams:VAModel name="ChirpSignalGenerator">
    <package name="Requirements">
      <designUnit xsi:type="vhdlams:Comment" description="-- @Req1.0 'ProduceChirpSignal' : The system should be able to produce a chirp signal"/>
      <designUnit xsi:type="vhdlams:Comment" description="-- @Req1.1 'FrequencyVariation' : The system should be able to produce a signal whose frequency varies over time"/>
      <designUnit xsi:type="vhdlams:Comment" description="-- @Req1.2 'AmplitudeVariation' : The system should be able to produce a signal whose amplitude varies over time"/>
    </package>
    <package name="System">
      <designUnit xsi:type="vhdlams:Entity" name="VSIGNAL" architecture="/0/@package.1/@designUnit.1">
        <property xsi:type="vhdlams:Generic" name="ti">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.5"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="td">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.5"/>
        </property>
        <property xsi:type="vhdlams:Signal" name="v_signal" direction="OUT">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.0">
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="v_signal &lt;= 0.0 AFTER 0.0ms, 1.0 AFTER ti, 0.0 AFTER ti+td"/>
      </designUnit>
      <designUnit xsi:type="vhdlams:Entity" name="Resistor" architecture="/0/@package.1/@designUnit.3">
        <property xsi:type="vhdlams:Generic" name="res">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="m">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="p">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.2">
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.2/@property.2" minus_terminal="/0/@package.1/@designUnit.2/@property.1" through="/2" across="/1"/>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="v_in == res * i_out"/>
      </designUnit>
      <designUnit xsi:type="vhdlams:Entity" name="VCVsin" architecture="/0/@package.1/@designUnit.5">
        <property xsi:type="vhdlams:Terminal" name="m">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="p">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="f">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="a">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.4">
        <property xsi:type="vhdlams:Constant" name="twoPi" default="6.283118530718">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.4/@property.1" minus_terminal="/0/@package.1/@designUnit.4/@property.0" through="/4" across="/3"/>
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.4/@property.2" minus_terminal="/0/@package.1/@designUnit.4/@property.0" across="/5"/>
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.4/@property.3" minus_terminal="/0/@package.1/@designUnit.4/@property.0" across="/7"/>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="v_in == v_a * sin (twoPi * v_f * now)"/>
      </designUnit>
      <designUnit xsi:type="vhdlams:Entity" name="RampSource" architecture="/0/@package.1/@designUnit.7">
        <property xsi:type="vhdlams:Generic" name="v1" default="0.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="v2" default="1.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="intT" default="1.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="ti">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="td">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="m">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="p">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.6">
        <property xsi:type="vhdlams:Quantity" name="vdot">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.6/@property.6" minus_terminal="/0/@package.1/@designUnit.6/@property.5" through="/10" across="/9"/>
        <property xsi:type="vhdlams:Signal" name="v_signal">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <statement xsi:type="vhdlams:Function" name="real2time">
          <returnType href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.5"/>
          <parameter name="tt">
            <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
          </parameter>
          <sequentialStatement xsi:type="vhdlams:Statements" body="return real(tt * 1.0e15) * 1 fs;"/>
        </statement>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="Vsig" type="/0/@package.1/@designUnit.0" architecture="/0/@package.1/@designUnit.1">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.0/@property.2" to="/0/@package.1/@designUnit.7/@property.2"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.0/@property.0" to="/13"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.0/@property.1" to="/14"/>
        </statement>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="vdot'dot == v_signal / intT * (v2 - v1)"/>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="v_in == v_signal * (vdot + v1)"/>
      </designUnit>
      <designUnit xsi:type="vhdlams:Entity" name="PolySource2" architecture="/0/@package.1/@designUnit.9">
        <property xsi:type="vhdlams:Generic" name="ti">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="td">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="a">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="b">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="c">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="m">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="p">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.8">
        <property xsi:type="vhdlams:Quantity" name="vdot">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Quantity" name="tt">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:BranchQuantity" plus_terminal="/0/@package.1/@designUnit.8/@property.6" minus_terminal="/0/@package.1/@designUnit.8/@property.5" through="/12" across="/11"/>
        <property xsi:type="vhdlams:Signal" name="v_signal">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <statement xsi:type="vhdlams:Function" name="real2time">
          <returnType href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.5"/>
          <parameter name="tt">
            <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
          </parameter>
          <sequentialStatement xsi:type="vhdlams:Statements" body="return real(tt * 1.0e15) * 1 fs;"/>
        </statement>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="Vsig" type="/0/@package.1/@designUnit.0" architecture="/0/@package.1/@designUnit.1">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.0/@property.2" to="/0/@package.1/@designUnit.9/@property.3"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.0/@property.0" to="/15"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.0/@property.1" to="/16"/>
        </statement>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="vdot'dot == v_signal / td"/>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="tt == td * vdot + ti"/>
        <statement xsi:type="vhdlams:ConcurrentialStatement" body="v_in == v_signal * (a * tt * tt + b * tt + c)"/>
      </designUnit>
      <designUnit xsi:type="vhdlams:Entity" name="Vchirp" architecture="/0/@package.1/@designUnit.11">
        <property xsi:type="vhdlams:Generic" name="a1" default="1.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="a2" default="2.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="f1" default="50.0e6">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="f2" default="100.0e6">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="ti" default="200.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
        <property xsi:type="vhdlams:Generic" name="tau" default="1.0">
          <type href="pathmap://VHDLAMS_LIBRARIES/vhdlPrimitive.vhdl.xmi#//@designUnit.0/@designUnit.0"/>
        </property>
      </designUnit>
      <designUnit xsi:type="vhdlams:Architecture" name="behav" entity="/0/@package.1/@designUnit.10">
        <property xsi:type="vhdlams:Terminal" name="nout">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="nf">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="na">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.12"/>
        </property>
        <property xsi:type="vhdlams:Terminal" name="ground">
          <type href="pathmap://VHDLAMS_LIBRARIES/ieee.vhdl.xmi#//@designUnit.7/@designUnit.10"/>
        </property>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="R1" type="/0/@package.1/@designUnit.2" architecture="/0/@package.1/@designUnit.3">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.2/@property.2" to="/0/@package.1/@designUnit.11/@property.0"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.2/@property.1" to="/0/@package.1/@designUnit.11/@property.3"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.2/@property.0" to="/17"/>
        </statement>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="Src" type="/0/@package.1/@designUnit.4" architecture="/0/@package.1/@designUnit.5">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.4/@property.0" to="/0/@package.1/@designUnit.11/@property.3"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.4/@property.3" to="/0/@package.1/@designUnit.11/@property.2"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.4/@property.2" to="/0/@package.1/@designUnit.11/@property.1"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.4/@property.1" to="/0/@package.1/@designUnit.11/@property.0"/>
        </statement>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="dcf" type="/0/@package.1/@designUnit.8" architecture="/0/@package.1/@designUnit.9">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.8/@property.5" to="/0/@package.1/@designUnit.11/@property.3"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.8/@property.6" to="/0/@package.1/@designUnit.11/@property.1"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.8/@property.0" to="/18"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.8/@property.1" to="/19"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.8/@property.2" to="/20"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.8/@property.3" to="/21"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.8/@property.4" to="/22"/>
        </statement>
        <statement xsi:type="vhdlams:ComponentInstanciation" name="DCA" type="/0/@package.1/@designUnit.6" architecture="/0/@package.1/@designUnit.7">
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.6/@property.5" to="/0/@package.1/@designUnit.11/@property.3"/>
          <map xsi:type="vhdlams:PortMap" from="/0/@package.1/@designUnit.6/@property.6" to="/0/@package.1/@designUnit.11/@property.2"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.6/@property.4" to="/23"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.6/@property.3" to="/24"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.6/@property.1" to="/25"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.6/@property.0" to="/26"/>
          <map xsi:type="vhdlams:GenericMap" from="/0/@package.1/@designUnit.6/@property.2" to="/27"/>
        </statement>
      </designUnit>
    </package>
    <package name="Constraints"/>
    <library name="IEEE">
      <use name="electrical_systems"/>
      <use name="math_real"/>
    </library>
    <library name="IEEE"/>
  </vhdlams:VAModel>
  <vhdlams:Variable name="v_in"/>
  <vhdlams:Variable name="i_out"/>
  <vhdlams:Variable name="v_in"/>
  <vhdlams:Variable name="i_out"/>
  <vhdlams:Variable name="v_f"/>
  <vhdlams:Variable/>
  <vhdlams:Variable name="v_a"/>
  <vhdlams:Variable/>
  <vhdlams:Variable name="v_in"/>
  <vhdlams:Variable name="i_out"/>
  <vhdlams:Variable name="v_in"/>
  <vhdlams:Variable name="i_out"/>
  <vhdlams:Expression body="real2time(ti)"/>
  <vhdlams:Expression body="real2time(td)"/>
  <vhdlams:Expression body="real2time(ti)"/>
  <vhdlams:Expression body="real2time(td)"/>
  <vhdlams:Expression body="100.0e3"/>
  <vhdlams:Expression body="ti"/>
  <vhdlams:Expression body="tau"/>
  <vhdlams:Expression body="0.0"/>
  <vhdlams:Expression body="(f2 - f1)/tau"/>
  <vhdlams:Expression body="(f1*(ti+tau)-f2*ti)/tau"/>
  <vhdlams:Expression body="tau"/>
  <vhdlams:Expression body="ti"/>
  <vhdlams:Expression body="a2"/>
  <vhdlams:Expression body="a1"/>
  <vhdlams:Expression body="tau"/>
</xmi:XMI>