TDF and TDF script changes (application changes pending):

- Added new `pad` element to TDFs
- Refactored `pin` and `signal` elements to accommodate new `pad` element
- Improved validation of signal-to-pad relation in TDF validation script
- Added key attribute to `variant` element
- Removed `package` attribute from `variant` element
This commit is contained in:
Nav
2024-08-13 22:17:49 +01:00
parent d44eb49ca1
commit 8ba29c258d
269 changed files with 60017 additions and 48825 deletions

View File

@@ -218,115 +218,115 @@
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porta" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa0" index="0" function="PORTA" group="P"/>
<signal pad-id="pa1" index="1" function="PORTA" group="P"/>
<signal pad-id="pa2" index="2" function="PORTA" group="P"/>
<signal pad-id="pa3" index="3" function="PORTA" group="P"/>
<signal pad-id="pa4" index="4" function="PORTA" group="P"/>
<signal pad-id="pa5" index="5" function="PORTA" group="P"/>
<signal pad-id="pa6" index="6" function="PORTA" group="P"/>
<signal pad-id="pa7" index="7" function="PORTA" group="P"/>
<signal pad-key="pa0" index="0" function="PORTA" group="P"/>
<signal pad-key="pa1" index="1" function="PORTA" group="P"/>
<signal pad-key="pa2" index="2" function="PORTA" group="P"/>
<signal pad-key="pa3" index="3" function="PORTA" group="P"/>
<signal pad-key="pa4" index="4" function="PORTA" group="P"/>
<signal pad-key="pa5" index="5" function="PORTA" group="P"/>
<signal pad-key="pa6" index="6" function="PORTA" group="P"/>
<signal pad-key="pa7" index="7" function="PORTA" group="P"/>
</signals>
</peripheral>
<peripheral key="portb" name="PORTB" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portb" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pb0" index="0" function="PORTB" group="P"/>
<signal pad-id="pb1" index="1" function="PORTB" group="P"/>
<signal pad-id="pb2" index="2" function="PORTB" group="P"/>
<signal pad-id="pb3" index="3" function="PORTB" group="P"/>
<signal pad-id="pb4" index="4" function="PORTB" group="P"/>
<signal pad-id="pb5" index="5" function="PORTB" group="P"/>
<signal pad-id="pb6" index="6" function="PORTB" group="P"/>
<signal pad-id="pb7" index="7" function="PORTB" group="P"/>
<signal pad-key="pb0" index="0" function="PORTB" group="P"/>
<signal pad-key="pb1" index="1" function="PORTB" group="P"/>
<signal pad-key="pb2" index="2" function="PORTB" group="P"/>
<signal pad-key="pb3" index="3" function="PORTB" group="P"/>
<signal pad-key="pb4" index="4" function="PORTB" group="P"/>
<signal pad-key="pb5" index="5" function="PORTB" group="P"/>
<signal pad-key="pb6" index="6" function="PORTB" group="P"/>
<signal pad-key="pb7" index="7" function="PORTB" group="P"/>
</signals>
</peripheral>
<peripheral key="portc" name="PORTC" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portc" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pc0" index="0" function="PORTC" group="P"/>
<signal pad-id="pc1" index="1" function="PORTC" group="P"/>
<signal pad-id="pc2" index="2" function="PORTC" group="P"/>
<signal pad-id="pc3" index="3" function="PORTC" group="P"/>
<signal pad-id="pc4" index="4" function="PORTC" group="P"/>
<signal pad-id="pc5" index="5" function="PORTC" group="P"/>
<signal pad-id="pc6" index="6" function="PORTC" group="P"/>
<signal pad-id="pc7" index="7" function="PORTC" group="P"/>
<signal pad-key="pc0" index="0" function="PORTC" group="P"/>
<signal pad-key="pc1" index="1" function="PORTC" group="P"/>
<signal pad-key="pc2" index="2" function="PORTC" group="P"/>
<signal pad-key="pc3" index="3" function="PORTC" group="P"/>
<signal pad-key="pc4" index="4" function="PORTC" group="P"/>
<signal pad-key="pc5" index="5" function="PORTC" group="P"/>
<signal pad-key="pc6" index="6" function="PORTC" group="P"/>
<signal pad-key="pc7" index="7" function="PORTC" group="P"/>
</signals>
</peripheral>
<peripheral key="portd" name="PORTD" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portd" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pd0" index="0" function="PORTD" group="P"/>
<signal pad-id="pd1" index="1" function="PORTD" group="P"/>
<signal pad-id="pd2" index="2" function="PORTD" group="P"/>
<signal pad-id="pd3" index="3" function="PORTD" group="P"/>
<signal pad-id="pd4" index="4" function="PORTD" group="P"/>
<signal pad-id="pd5" index="5" function="PORTD" group="P"/>
<signal pad-id="pd6" index="6" function="PORTD" group="P"/>
<signal pad-id="pd7" index="7" function="PORTD" group="P"/>
<signal pad-key="pd0" index="0" function="PORTD" group="P"/>
<signal pad-key="pd1" index="1" function="PORTD" group="P"/>
<signal pad-key="pd2" index="2" function="PORTD" group="P"/>
<signal pad-key="pd3" index="3" function="PORTD" group="P"/>
<signal pad-key="pd4" index="4" function="PORTD" group="P"/>
<signal pad-key="pd5" index="5" function="PORTD" group="P"/>
<signal pad-key="pd6" index="6" function="PORTD" group="P"/>
<signal pad-key="pd7" index="7" function="PORTD" group="P"/>
</signals>
</peripheral>
<peripheral key="porte" name="PORTE" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porte" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pe0" index="0" function="PORTE" group="P"/>
<signal pad-id="pe1" index="1" function="PORTE" group="P"/>
<signal pad-id="pe2" index="2" function="PORTE" group="P"/>
<signal pad-id="pe3" index="3" function="PORTE" group="P"/>
<signal pad-id="pe4" index="4" function="PORTE" group="P"/>
<signal pad-id="pe5" index="5" function="PORTE" group="P"/>
<signal pad-id="pe6" index="6" function="PORTE" group="P"/>
<signal pad-id="pe7" index="7" function="PORTE" group="P"/>
<signal pad-key="pe0" index="0" function="PORTE" group="P"/>
<signal pad-key="pe1" index="1" function="PORTE" group="P"/>
<signal pad-key="pe2" index="2" function="PORTE" group="P"/>
<signal pad-key="pe3" index="3" function="PORTE" group="P"/>
<signal pad-key="pe4" index="4" function="PORTE" group="P"/>
<signal pad-key="pe5" index="5" function="PORTE" group="P"/>
<signal pad-key="pe6" index="6" function="PORTE" group="P"/>
<signal pad-key="pe7" index="7" function="PORTE" group="P"/>
</signals>
</peripheral>
<peripheral key="portf" name="PORTF" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portf" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pf0" index="0" function="PORTF" group="P"/>
<signal pad-id="pf1" index="1" function="PORTF" group="P"/>
<signal pad-id="pf2" index="2" function="PORTF" group="P"/>
<signal pad-id="pf3" index="3" function="PORTF" group="P"/>
<signal pad-id="pf4" index="4" function="PORTF" group="P"/>
<signal pad-id="pf5" index="5" function="PORTF" group="P"/>
<signal pad-id="pf6" index="6" function="PORTF" group="P"/>
<signal pad-id="pf7" index="7" function="PORTF" group="P"/>
<signal pad-key="pf0" index="0" function="PORTF" group="P"/>
<signal pad-key="pf1" index="1" function="PORTF" group="P"/>
<signal pad-key="pf2" index="2" function="PORTF" group="P"/>
<signal pad-key="pf3" index="3" function="PORTF" group="P"/>
<signal pad-key="pf4" index="4" function="PORTF" group="P"/>
<signal pad-key="pf5" index="5" function="PORTF" group="P"/>
<signal pad-key="pf6" index="6" function="PORTF" group="P"/>
<signal pad-key="pf7" index="7" function="PORTF" group="P"/>
</signals>
</peripheral>
<peripheral key="portg" name="PORTG" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portg" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pg0" index="0" function="PORTG" group="P"/>
<signal pad-id="pg1" index="1" function="PORTG" group="P"/>
<signal pad-id="pg2" index="2" function="PORTG" group="P"/>
<signal pad-id="pg3" index="3" function="PORTG" group="P"/>
<signal pad-id="pg4" index="4" function="PORTG" group="P"/>
<signal pad-id="pg5" index="5" function="PORTG" group="P"/>
<signal pad-key="pg0" index="0" function="PORTG" group="P"/>
<signal pad-key="pg1" index="1" function="PORTG" group="P"/>
<signal pad-key="pg2" index="2" function="PORTG" group="P"/>
<signal pad-key="pg3" index="3" function="PORTG" group="P"/>
<signal pad-key="pg4" index="4" function="PORTG" group="P"/>
<signal pad-key="pg5" index="5" function="PORTG" group="P"/>
</signals>
</peripheral>
<peripheral key="porth" name="PORTH" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porth" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="ph0" index="0" function="PORTH" group="P"/>
<signal pad-id="ph1" index="1" function="PORTH" group="P"/>
<signal pad-id="ph2" index="2" function="PORTH" group="P"/>
<signal pad-id="ph3" index="3" function="PORTH" group="P"/>
<signal pad-id="ph4" index="4" function="PORTH" group="P"/>
<signal pad-id="ph5" index="5" function="PORTH" group="P"/>
<signal pad-id="ph6" index="6" function="PORTH" group="P"/>
<signal pad-id="ph7" index="7" function="PORTH" group="P"/>
<signal pad-key="ph0" index="0" function="PORTH" group="P"/>
<signal pad-key="ph1" index="1" function="PORTH" group="P"/>
<signal pad-key="ph2" index="2" function="PORTH" group="P"/>
<signal pad-key="ph3" index="3" function="PORTH" group="P"/>
<signal pad-key="ph4" index="4" function="PORTH" group="P"/>
<signal pad-key="ph5" index="5" function="PORTH" group="P"/>
<signal pad-key="ph6" index="6" function="PORTH" group="P"/>
<signal pad-key="ph7" index="7" function="PORTH" group="P"/>
</signals>
</peripheral>
<peripheral key="portj" name="PORTJ" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portj" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pj0" index="0" function="PORTJ" group="P"/>
<signal pad-id="pj1" index="1" function="PORTJ" group="P"/>
<signal pad-id="pj2" index="2" function="PORTJ" group="P"/>
<signal pad-id="pj3" index="3" function="PORTJ" group="P"/>
<signal pad-id="pj4" index="4" function="PORTJ" group="P"/>
<signal pad-id="pj5" index="5" function="PORTJ" group="P"/>
<signal pad-id="pj6" index="6" function="PORTJ" group="P"/>
<signal pad-key="pj0" index="0" function="PORTJ" group="P"/>
<signal pad-key="pj1" index="1" function="PORTJ" group="P"/>
<signal pad-key="pj2" index="2" function="PORTJ" group="P"/>
<signal pad-key="pj3" index="3" function="PORTJ" group="P"/>
<signal pad-key="pj4" index="4" function="PORTJ" group="P"/>
<signal pad-key="pj5" index="5" function="PORTJ" group="P"/>
<signal pad-key="pj6" index="6" function="PORTJ" group="P"/>
</signals>
</peripheral>
<peripheral key="tc0" name="TC0" module-key="tc8">
@@ -760,111 +760,189 @@
</register-group>
</module>
</modules>
<pads>
<pad key="pe0" name="PE0"/>
<pad key="pe1" name="PE1"/>
<pad key="pe2" name="PE2"/>
<pad key="pe3" name="PE3"/>
<pad key="pe4" name="PE4"/>
<pad key="pe5" name="PE5"/>
<pad key="pe6" name="PE6"/>
<pad key="pe7" name="PE7"/>
<pad key="vcc" name="VCC"/>
<pad key="gnd" name="GND"/>
<pad key="pj0" name="PJ0"/>
<pad key="pj1" name="PJ1"/>
<pad key="pb0" name="PB0"/>
<pad key="pb1" name="PB1"/>
<pad key="pb2" name="PB2"/>
<pad key="pb3" name="PB3"/>
<pad key="pb4" name="PB4"/>
<pad key="pb5" name="PB5"/>
<pad key="pb6" name="PB6"/>
<pad key="pb7" name="PB7"/>
<pad key="pg3" name="PG3"/>
<pad key="pg4" name="PG4"/>
<pad key="pg5" name="PG5"/>
<pad key="xtal2" name="XTAL2"/>
<pad key="xtal1" name="XTAL1"/>
<pad key="pj2" name="PJ2"/>
<pad key="pj3" name="PJ3"/>
<pad key="pj4" name="PJ4"/>
<pad key="pj5" name="PJ5"/>
<pad key="pj6" name="PJ6"/>
<pad key="pd0" name="PD0"/>
<pad key="pd1" name="PD1"/>
<pad key="pd2" name="PD2"/>
<pad key="pd3" name="PD3"/>
<pad key="pd4" name="PD4"/>
<pad key="pd5" name="PD5"/>
<pad key="pd6" name="PD6"/>
<pad key="pd7" name="PD7"/>
<pad key="pg0" name="PG0"/>
<pad key="pg1" name="PG1"/>
<pad key="pc0" name="PC0"/>
<pad key="pc1" name="PC1"/>
<pad key="pc2" name="PC2"/>
<pad key="pc3" name="PC3"/>
<pad key="pc4" name="PC4"/>
<pad key="pc5" name="PC5"/>
<pad key="ph0" name="PH0"/>
<pad key="ph1" name="PH1"/>
<pad key="ph2" name="PH2"/>
<pad key="ph3" name="PH3"/>
<pad key="pc6" name="PC6"/>
<pad key="pc7" name="PC7"/>
<pad key="pg2" name="PG2"/>
<pad key="pa7" name="PA7"/>
<pad key="pa6" name="PA6"/>
<pad key="pa5" name="PA5"/>
<pad key="pa4" name="PA4"/>
<pad key="pa3" name="PA3"/>
<pad key="pa2" name="PA2"/>
<pad key="pa1" name="PA1"/>
<pad key="pa0" name="PA0"/>
<pad key="ph4" name="PH4"/>
<pad key="ph5" name="PH5"/>
<pad key="ph6" name="PH6"/>
<pad key="ph7" name="PH7"/>
<pad key="pf7" name="PF7"/>
<pad key="pf6" name="PF6"/>
<pad key="pf5" name="PF5"/>
<pad key="pf4" name="PF4"/>
<pad key="pf3" name="PF3"/>
<pad key="pf2" name="PF2"/>
<pad key="pf1" name="PF1"/>
<pad key="pf0" name="PF0"/>
<pad key="aref" name="AREF"/>
<pad key="agnd" name="AGND"/>
<pad key="avcc" name="AVCC"/>
</pads>
<pinouts>
<pinout key="qfp_100" name="QFP_100" type="qfp">
<pin position="1" pad="NC"/>
<pin position="2" pad="PE0"/>
<pin position="3" pad="PE1"/>
<pin position="4" pad="PE2"/>
<pin position="5" pad="PE3"/>
<pin position="6" pad="PE4"/>
<pin position="7" pad="PE5"/>
<pin position="8" pad="PE6"/>
<pin position="9" pad="PE7"/>
<pin position="10" pad="VCC"/>
<pin position="11" pad="GND"/>
<pin position="12" pad="NC"/>
<pin position="13" pad="PJ0"/>
<pin position="14" pad="PJ1"/>
<pin position="15" pad="NC"/>
<pin position="16" pad="NC"/>
<pin position="17" pad="NC"/>
<pin position="18" pad="NC"/>
<pin position="19" pad="PB0"/>
<pin position="20" pad="PB1"/>
<pin position="21" pad="PB2"/>
<pin position="22" pad="PB3"/>
<pin position="23" pad="PB4"/>
<pin position="24" pad="PB5"/>
<pin position="25" pad="PB6"/>
<pin position="26" pad="PB7"/>
<pin position="27" pad="NC"/>
<pin position="28" pad="PG3"/>
<pin position="29" pad="PG4"/>
<pin position="30" pad="PG5"/>
<pin position="31" pad="VCC"/>
<pin position="32" pad="GND"/>
<pin position="33" pad="XTAL2"/>
<pin position="34" pad="XTAL1"/>
<pin position="35" pad="NC"/>
<pin position="36" pad="NC"/>
<pin position="37" pad="PJ2"/>
<pin position="38" pad="PJ3"/>
<pin position="39" pad="PJ4"/>
<pin position="40" pad="PJ5"/>
<pin position="41" pad="PJ6"/>
<pin position="42" pad="NC"/>
<pin position="43" pad="PD0"/>
<pin position="44" pad="PD1"/>
<pin position="45" pad="PD2"/>
<pin position="46" pad="PD3"/>
<pin position="47" pad="PD4"/>
<pin position="48" pad="PD5"/>
<pin position="49" pad="PD6"/>
<pin position="50" pad="PD7"/>
<pin position="51" pad="PG0"/>
<pin position="52" pad="PG1"/>
<pin position="53" pad="PC0"/>
<pin position="54" pad="PC1"/>
<pin position="55" pad="PC2"/>
<pin position="56" pad="PC3"/>
<pin position="57" pad="PC4"/>
<pin position="58" pad="PC5"/>
<pin position="59" pad="NC"/>
<pin position="60" pad="NC"/>
<pin position="61" pad="NC"/>
<pin position="62" pad="NC"/>
<pin position="63" pad="PH0"/>
<pin position="64" pad="PH1"/>
<pin position="65" pad="PH2"/>
<pin position="66" pad="PH3"/>
<pin position="67" pad="NC"/>
<pin position="68" pad="PC6"/>
<pin position="69" pad="PC7"/>
<pin position="70" pad="PG2"/>
<pin position="71" pad="PA7"/>
<pin position="72" pad="PA6"/>
<pin position="73" pad="PA5"/>
<pin position="74" pad="PA4"/>
<pin position="75" pad="PA3"/>
<pin position="76" pad="PA2"/>
<pin position="77" pad="PA1"/>
<pin position="78" pad="PA0"/>
<pin position="79" pad="NC"/>
<pin position="80" pad="VCC"/>
<pin position="81" pad="GND"/>
<pin position="82" pad="NC"/>
<pin position="83" pad="NC"/>
<pin position="84" pad="PH4"/>
<pin position="85" pad="PH5"/>
<pin position="86" pad="PH6"/>
<pin position="87" pad="PH7"/>
<pin position="88" pad="NC"/>
<pin position="89" pad="NC"/>
<pin position="90" pad="PF7"/>
<pin position="91" pad="PF6"/>
<pin position="92" pad="PF5"/>
<pin position="93" pad="PF4"/>
<pin position="94" pad="PF3"/>
<pin position="95" pad="PF2"/>
<pin position="96" pad="PF1"/>
<pin position="97" pad="PF0"/>
<pin position="98" pad="AREF"/>
<pin position="99" pad="AGND"/>
<pin position="100" pad="AVCC"/>
<pin position="1"/>
<pin position="2" pad-key="pe0"/>
<pin position="3" pad-key="pe1"/>
<pin position="4" pad-key="pe2"/>
<pin position="5" pad-key="pe3"/>
<pin position="6" pad-key="pe4"/>
<pin position="7" pad-key="pe5"/>
<pin position="8" pad-key="pe6"/>
<pin position="9" pad-key="pe7"/>
<pin position="10" pad-key="vcc"/>
<pin position="11" pad-key="gnd"/>
<pin position="12"/>
<pin position="13" pad-key="pj0"/>
<pin position="14" pad-key="pj1"/>
<pin position="15"/>
<pin position="16"/>
<pin position="17"/>
<pin position="18"/>
<pin position="19" pad-key="pb0"/>
<pin position="20" pad-key="pb1"/>
<pin position="21" pad-key="pb2"/>
<pin position="22" pad-key="pb3"/>
<pin position="23" pad-key="pb4"/>
<pin position="24" pad-key="pb5"/>
<pin position="25" pad-key="pb6"/>
<pin position="26" pad-key="pb7"/>
<pin position="27"/>
<pin position="28" pad-key="pg3"/>
<pin position="29" pad-key="pg4"/>
<pin position="30" pad-key="pg5"/>
<pin position="31" pad-key="vcc"/>
<pin position="32" pad-key="gnd"/>
<pin position="33" pad-key="xtal2"/>
<pin position="34" pad-key="xtal1"/>
<pin position="35"/>
<pin position="36"/>
<pin position="37" pad-key="pj2"/>
<pin position="38" pad-key="pj3"/>
<pin position="39" pad-key="pj4"/>
<pin position="40" pad-key="pj5"/>
<pin position="41" pad-key="pj6"/>
<pin position="42"/>
<pin position="43" pad-key="pd0"/>
<pin position="44" pad-key="pd1"/>
<pin position="45" pad-key="pd2"/>
<pin position="46" pad-key="pd3"/>
<pin position="47" pad-key="pd4"/>
<pin position="48" pad-key="pd5"/>
<pin position="49" pad-key="pd6"/>
<pin position="50" pad-key="pd7"/>
<pin position="51" pad-key="pg0"/>
<pin position="52" pad-key="pg1"/>
<pin position="53" pad-key="pc0"/>
<pin position="54" pad-key="pc1"/>
<pin position="55" pad-key="pc2"/>
<pin position="56" pad-key="pc3"/>
<pin position="57" pad-key="pc4"/>
<pin position="58" pad-key="pc5"/>
<pin position="59"/>
<pin position="60"/>
<pin position="61"/>
<pin position="62"/>
<pin position="63" pad-key="ph0"/>
<pin position="64" pad-key="ph1"/>
<pin position="65" pad-key="ph2"/>
<pin position="66" pad-key="ph3"/>
<pin position="67"/>
<pin position="68" pad-key="pc6"/>
<pin position="69" pad-key="pc7"/>
<pin position="70" pad-key="pg2"/>
<pin position="71" pad-key="pa7"/>
<pin position="72" pad-key="pa6"/>
<pin position="73" pad-key="pa5"/>
<pin position="74" pad-key="pa4"/>
<pin position="75" pad-key="pa3"/>
<pin position="76" pad-key="pa2"/>
<pin position="77" pad-key="pa1"/>
<pin position="78" pad-key="pa0"/>
<pin position="79"/>
<pin position="80" pad-key="vcc"/>
<pin position="81" pad-key="gnd"/>
<pin position="82"/>
<pin position="83"/>
<pin position="84" pad-key="ph4"/>
<pin position="85" pad-key="ph5"/>
<pin position="86" pad-key="ph6"/>
<pin position="87" pad-key="ph7"/>
<pin position="88"/>
<pin position="89"/>
<pin position="90" pad-key="pf7"/>
<pin position="91" pad-key="pf6"/>
<pin position="92" pad-key="pf5"/>
<pin position="93" pad-key="pf4"/>
<pin position="94" pad-key="pf3"/>
<pin position="95" pad-key="pf2"/>
<pin position="96" pad-key="pf1"/>
<pin position="97" pad-key="pf0"/>
<pin position="98" pad-key="aref"/>
<pin position="99" pad-key="agnd"/>
<pin position="100" pad-key="avcc"/>
</pinout>
</pinouts>
<variants>
<variant name="ATmega6450A-AU" pinout-key="qfp_100" package="TQFP100"/>
<variant key="atmega6450a_au" name="ATmega6450A-AU" pinout-key="qfp_100"/>
</variants>
</device>