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

@@ -170,72 +170,72 @@
<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-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"/>
</signals>
</peripheral>
<peripheral key="ac" name="AC" module-key="ac">
<register-group-instance description="Analog Comparator" register-group-key="ac" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa1" index="0" function="ACIN" group="AIN"/>
<signal pad-id="pa2" index="1" function="ACIN" group="AIN"/>
<signal pad-key="pa1" index="0" function="ACIN" group="AIN"/>
<signal pad-key="pa2" index="1" function="ACIN" group="AIN"/>
</signals>
</peripheral>
<peripheral key="adc" name="ADC" module-key="adc">
<register-group-instance description="Analog-to-Digital Converter" register-group-key="adc" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa0" index="0" function="ADC" group="ADC"/>
<signal pad-id="pa1" index="1" function="ADC" group="ADC"/>
<signal pad-id="pa2" index="2" function="ADC" group="ADC"/>
<signal pad-id="pa3" index="3" function="ADC" group="ADC"/>
<signal pad-id="pa4" index="4" function="ADC" group="ADC"/>
<signal pad-id="pa5" index="5" function="ADC" group="ADC"/>
<signal pad-id="pa6" index="6" function="ADC" group="ADC"/>
<signal pad-id="pa7" index="7" function="ADC" group="ADC"/>
<signal pad-id="pa0" function="AREF" group="AREF"/>
<signal pad-key="pa0" index="0" function="ADC" group="ADC"/>
<signal pad-key="pa1" index="1" function="ADC" group="ADC"/>
<signal pad-key="pa2" index="2" function="ADC" group="ADC"/>
<signal pad-key="pa3" index="3" function="ADC" group="ADC"/>
<signal pad-key="pa4" index="4" function="ADC" group="ADC"/>
<signal pad-key="pa5" index="5" function="ADC" group="ADC"/>
<signal pad-key="pa6" index="6" function="ADC" group="ADC"/>
<signal pad-key="pa7" index="7" function="ADC" group="ADC"/>
<signal pad-key="pa0" function="AREF" group="AREF"/>
</signals>
</peripheral>
<peripheral key="usi" name="USI" module-key="usi">
<register-group-instance description="Universal Serial Interface" register-group-key="usi" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa4" function="TWI" group="SCL"/>
<signal pad-id="pa6" function="TWI" group="SDA"/>
<signal pad-id="pa4" function="SPI" group="USCK"/>
<signal pad-id="pa5" function="SPI" group="DO"/>
<signal pad-id="pa6" function="SPI" group="DI"/>
<signal pad-key="pa4" function="TWI" group="SCL"/>
<signal pad-key="pa6" function="TWI" group="SDA"/>
<signal pad-key="pa4" function="SPI" group="USCK"/>
<signal pad-key="pa5" function="SPI" group="DO"/>
<signal pad-key="pa6" function="SPI" group="DI"/>
</signals>
</peripheral>
<peripheral key="exint" name="EXINT" module-key="exint">
<register-group-instance description="External Interrupts" register-group-key="exint" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa0" index="0" function="EXTINT" group="PCINT"/>
<signal pad-id="pa1" index="1" function="EXTINT" group="PCINT"/>
<signal pad-id="pa2" index="2" function="EXTINT" group="PCINT"/>
<signal pad-id="pa3" index="3" function="EXTINT" group="PCINT"/>
<signal pad-id="pa4" index="4" function="EXTINT" group="PCINT"/>
<signal pad-id="pa5" index="5" function="EXTINT" group="PCINT"/>
<signal pad-id="pa6" index="6" function="EXTINT" group="PCINT"/>
<signal pad-id="pa7" index="7" function="EXTINT" group="PCINT"/>
<signal pad-id="pb0" index="8" function="EXTINT" group="PCINT"/>
<signal pad-id="pb1" index="9" function="EXTINT" group="PCINT"/>
<signal pad-id="pb2" index="10" function="EXTINT" group="PCINT"/>
<signal pad-id="pb3" index="11" function="EXTINT" group="PCINT"/>
<signal pad-id="pb2" index="0" function="EXTINT" group="INT"/>
<signal pad-key="pa0" index="0" function="EXTINT" group="PCINT"/>
<signal pad-key="pa1" index="1" function="EXTINT" group="PCINT"/>
<signal pad-key="pa2" index="2" function="EXTINT" group="PCINT"/>
<signal pad-key="pa3" index="3" function="EXTINT" group="PCINT"/>
<signal pad-key="pa4" index="4" function="EXTINT" group="PCINT"/>
<signal pad-key="pa5" index="5" function="EXTINT" group="PCINT"/>
<signal pad-key="pa6" index="6" function="EXTINT" group="PCINT"/>
<signal pad-key="pa7" index="7" function="EXTINT" group="PCINT"/>
<signal pad-key="pb0" index="8" function="EXTINT" group="PCINT"/>
<signal pad-key="pb1" index="9" function="EXTINT" group="PCINT"/>
<signal pad-key="pb2" index="10" function="EXTINT" group="PCINT"/>
<signal pad-key="pb3" index="11" function="EXTINT" group="PCINT"/>
<signal pad-key="pb2" index="0" function="EXTINT" group="INT"/>
</signals>
</peripheral>
<peripheral key="eeprom" name="EEPROM" module-key="eeprom">
@@ -247,18 +247,18 @@
<peripheral key="tc0" name="TC0" module-key="tc8">
<register-group-instance description="Timer/Counter, 8-bit" register-group-key="tc0" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa3" function="T0" group="T0"/>
<signal pad-id="pa7" function="T0" group="OC0B"/>
<signal pad-id="pb2" function="T0" group="OC0A"/>
<signal pad-key="pa3" function="T0" group="T0"/>
<signal pad-key="pa7" function="T0" group="OC0B"/>
<signal pad-key="pb2" function="T0" group="OC0A"/>
</signals>
</peripheral>
<peripheral key="tc1" name="TC1" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc1" address-space-key="data" offset="0x0"/>
<signals>
<signal pad-id="pa4" function="T1" group="T1"/>
<signal pad-id="pa5" function="T1" group="OC1B"/>
<signal pad-id="pa6" function="T1" group="OC1A"/>
<signal pad-id="pa7" function="T1" group="ICP1"/>
<signal pad-key="pa4" function="T1" group="T1"/>
<signal pad-key="pa5" function="T1" group="OC1B"/>
<signal pad-key="pa6" function="T1" group="OC1A"/>
<signal pad-key="pa7" function="T1" group="ICP1"/>
</signals>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="cpu">
@@ -540,70 +540,86 @@
</register-group>
</module>
</modules>
<pads>
<pad key="vcc" name="VCC"/>
<pad key="pb0" name="PB0"/>
<pad key="pb1" name="PB1"/>
<pad key="pb3" name="PB3"/>
<pad key="pb2" name="PB2"/>
<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="gnd" name="GND"/>
</pads>
<pinouts>
<pinout key="soic_14" name="SOIC_14" type="soic">
<pin position="1" pad="VCC"/>
<pin position="2" pad="PB0"/>
<pin position="3" pad="PB1"/>
<pin position="4" pad="PB3"/>
<pin position="5" pad="PB2"/>
<pin position="6" pad="PA7"/>
<pin position="7" pad="PA6"/>
<pin position="8" pad="PA5"/>
<pin position="9" pad="PA4"/>
<pin position="10" pad="PA3"/>
<pin position="11" pad="PA2"/>
<pin position="12" pad="PA1"/>
<pin position="13" pad="PA0"/>
<pin position="14" pad="GND"/>
<pin position="1" pad-key="vcc"/>
<pin position="2" pad-key="pb0"/>
<pin position="3" pad-key="pb1"/>
<pin position="4" pad-key="pb3"/>
<pin position="5" pad-key="pb2"/>
<pin position="6" pad-key="pa7"/>
<pin position="7" pad-key="pa6"/>
<pin position="8" pad-key="pa5"/>
<pin position="9" pad-key="pa4"/>
<pin position="10" pad-key="pa3"/>
<pin position="11" pad-key="pa2"/>
<pin position="12" pad-key="pa1"/>
<pin position="13" pad-key="pa0"/>
<pin position="14" pad-key="gnd"/>
</pinout>
<pinout key="qfn_20" name="QFN_20" type="qfn">
<pin position="1" pad="PA4"/>
<pin position="2" pad="PA3"/>
<pin position="3" pad="PA2"/>
<pin position="4" pad="PA1"/>
<pin position="5" pad="PA0"/>
<pin position="6" pad="NC"/>
<pin position="7" pad="NC"/>
<pin position="8" pad="GND"/>
<pin position="9" pad="VCC"/>
<pin position="10" pad="NC"/>
<pin position="11" pad="PB0"/>
<pin position="12" pad="PB1"/>
<pin position="13" pad="PB3"/>
<pin position="14" pad="PB2"/>
<pin position="15" pad="PA7"/>
<pin position="16" pad="PA6"/>
<pin position="17" pad="NC"/>
<pin position="18" pad="NC"/>
<pin position="19" pad="NC"/>
<pin position="20" pad="PA5"/>
<pin position="1" pad-key="pa4"/>
<pin position="2" pad-key="pa3"/>
<pin position="3" pad-key="pa2"/>
<pin position="4" pad-key="pa1"/>
<pin position="5" pad-key="pa0"/>
<pin position="6"/>
<pin position="7"/>
<pin position="8" pad-key="gnd"/>
<pin position="9" pad-key="vcc"/>
<pin position="10"/>
<pin position="11" pad-key="pb0"/>
<pin position="12" pad-key="pb1"/>
<pin position="13" pad-key="pb3"/>
<pin position="14" pad-key="pb2"/>
<pin position="15" pad-key="pa7"/>
<pin position="16" pad-key="pa6"/>
<pin position="17"/>
<pin position="18"/>
<pin position="19"/>
<pin position="20" pad-key="pa5"/>
</pinout>
<pinout key="bga_16" name="BGA_16" type="bga">
<pin position="A1" pad="NC"/>
<pin position="A2" pad="PA5"/>
<pin position="A3" pad="PA6"/>
<pin position="A4" pad="PB2"/>
<pin position="B1" pad="PA4"/>
<pin position="B2" pad="PA7"/>
<pin position="B3" pad="PB1"/>
<pin position="B4" pad="PB3"/>
<pin position="C1" pad="PA3"/>
<pin position="C2" pad="PA2"/>
<pin position="C3" pad="PA1"/>
<pin position="C4" pad="PB0"/>
<pin position="D1" pad="PA0"/>
<pin position="D2" pad="GND"/>
<pin position="D3" pad="GND"/>
<pin position="D4" pad="VCC"/>
<pin position="A1"/>
<pin position="A2" pad-key="pa5"/>
<pin position="A3" pad-key="pa6"/>
<pin position="A4" pad-key="pb2"/>
<pin position="B1" pad-key="pa4"/>
<pin position="B2" pad-key="pa7"/>
<pin position="B3" pad-key="pb1"/>
<pin position="B4" pad-key="pb3"/>
<pin position="C1" pad-key="pa3"/>
<pin position="C2" pad-key="pa2"/>
<pin position="C3" pad-key="pa1"/>
<pin position="C4" pad-key="pb0"/>
<pin position="D1" pad-key="pa0"/>
<pin position="D2" pad-key="gnd"/>
<pin position="D3" pad-key="gnd"/>
<pin position="D4" pad-key="vcc"/>
</pinout>
</pinouts>
<variants>
<variant name="ATtiny84A-CCU" pinout-key="bga_16" package="UFBGA16"/>
<variant name="ATtiny84A-MMH" pinout-key="qfn_20" package="VQFN20"/>
<variant name="ATtiny84A-MU" pinout-key="qfn_20" package="QFN20"/>
<variant name="ATtiny84A-PU" pinout-key="soic_14" package="PDIP14"/>
<variant name="ATtiny84A-SSU" pinout-key="soic_14" package="SOIC14"/>
<variant name="ATtiny84A-SSF" pinout-key="soic_14" package="SOIC14"/>
<variant key="attiny84a_ccu" name="ATtiny84A-CCU" pinout-key="bga_16"/>
<variant key="attiny84a_mmh" name="ATtiny84A-MMH" pinout-key="qfn_20"/>
<variant key="attiny84a_mu" name="ATtiny84A-MU" pinout-key="qfn_20"/>
<variant key="attiny84a_pu" name="ATtiny84A-PU" pinout-key="soic_14"/>
<variant key="attiny84a_ssu" name="ATtiny84A-SSU" pinout-key="soic_14"/>
<variant key="attiny84a_ssf" name="ATtiny84A-SSF" pinout-key="soic_14"/>
</variants>
</device>