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

@@ -17,6 +17,7 @@ require_once __DIR__ . "/Module.php";
require_once __DIR__ . "/RegisterGroup.php";
require_once __DIR__ . "/RegisterGroupReference.php";
require_once __DIR__ . "/Register.php";
require_once __DIR__ . "/Pad.php";
require_once __DIR__ . "/Pinout.php";
require_once __DIR__ . "/Variant.php";
require_once __DIR__ . "/TargetFamily.php";
@@ -47,6 +48,9 @@ class TargetDescriptionFile
/** @var Module[] */
public array $modules = [];
/** @var Pad[] */
public array $pads = [];
/** @var Pinout[] */
public array $pinouts = [];
@@ -236,6 +240,17 @@ class TargetDescriptionFile
$module->key = $newKey;
}
public function getPad(string $key): ?Pad
{
foreach ($this->pads as $pad) {
if ($pad->key === $key) {
return $pad;
}
}
return null;
}
public function getPinout(string $key): ?Pinout
{
foreach ($this->pinouts as $pinout) {