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>