URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
Compare Revisions
- This comparison shows the changes necessary to convert path
/socgen/trunk/tools/busdefs
- from Rev 134 to Rev 135
- ↔ Reverse comparison
Rev 134 → Rev 135
/check_busDefs
1,47 → 1,34
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010-2011> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source is distributed in the hope that it will be */ |
#/* useful, but WITHOUT ANY WARRANTY; without even the implied */ |
#/* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ |
#/* PURPOSE. See the GNU Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
#/****************************************************************************/ |
#/* */ |
#/* SOCGEN Design for Reuse toolset */ |
#/* */ |
#/* Version 1.0.0 */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, z3qmtr45@gmail.com */ |
#/* */ |
#/****************************************************************************/ |
#/* */ |
#/* */ |
#/* Copyright 2016 John T Eaton */ |
#/* */ |
#/* Licensed under the Apache License, Version 2.0 (the "License"); */ |
#/* you may not use this file except in compliance with the License. */ |
#/* You may obtain a copy of the License at */ |
#/* */ |
#/* http://www.apache.org/licenses/LICENSE-2.0 */ |
#/* */ |
#/* Unless required by applicable law or agreed to in writing, software */ |
#/* distributed under the License is distributed on an "AS IS" BASIS, */ |
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */ |
#/* See the License for the specific language governing permissions and */ |
#/* limitations under the License. */ |
#/* */ |
#/* */ |
#/****************************************************************************/ |
|
use Getopt::Long; |
use English; |
96,23 → 83,23
unless ($spirit_file) {print "Error absDef file does not exist";} |
|
my $spirit_absDef_file = $parser->parse_file($spirit_file); |
foreach my $absDef ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:vendor")) |
foreach my $absDef ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:vendor")) |
{ |
my($bd_vendor) = $absDef->findnodes('./text()')->to_literal ; |
my($bd_library) = $absDef->findnodes('../spirit:library/text()')->to_literal ; |
my($bd_name) = $absDef->findnodes('../spirit:name/text()')->to_literal ; |
my($bd_version) = $absDef->findnodes('../spirit:version/text()')->to_literal ; |
my($bd_library) = $absDef->findnodes('../ipxact:library/text()')->to_literal ; |
my($bd_name) = $absDef->findnodes('../ipxact:name/text()')->to_literal ; |
my($bd_version) = $absDef->findnodes('../ipxact:version/text()')->to_literal ; |
print "\tVLNV-ad ${bd_vendor}_${bd_library}_${bd_name}_${bd_version}\n"; |
|
my %systemGroupNames = (); |
|
|
foreach my $bus_type ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:busType")) |
foreach my $bus_type ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:busType")) |
{ |
my($bt_vendor) = $bus_type->findnodes('./@spirit:vendor')->to_literal ; |
my($bt_library) = $bus_type->findnodes('./@spirit:library')->to_literal ; |
my($bt_name) = $bus_type->findnodes('./@spirit:name')->to_literal ; |
my($bt_version) = $bus_type->findnodes('./@spirit:version')->to_literal ; |
my($bt_vendor) = $bus_type->findnodes('./@ipxact:vendor')->to_literal ; |
my($bt_library) = $bus_type->findnodes('./@ipxact:library')->to_literal ; |
my($bt_name) = $bus_type->findnodes('./@ipxact:name')->to_literal ; |
my($bt_version) = $bus_type->findnodes('./@ipxact:version')->to_literal ; |
print "\tVLNV-bt ${bt_vendor}_${bt_library}_${bt_name}_${bt_version}\n"; |
|
my $spirit_file = yp::lib::find_ipxact_busDefinition($bt_vendor,$bt_library,$bt_name,$bt_version); |
121,7 → 108,7
else |
{ |
my $spirit_busDef_file = $parser->parse_file($spirit_file); |
foreach my $i_name ($spirit_busDef_file->findnodes("//spirit:busDefinition/spirit:systemGroupNames/spirit:systemGroupName")) |
foreach my $i_name ($spirit_busDef_file->findnodes("//ipxact:busDefinition/ipxact:systemGroupNames/ipxact:systemGroupName")) |
{ |
my($sysgroup_name) = $i_name ->findnodes('./text()')->to_literal; |
print "\t SystemGroup Name $sysgroup_name \n"; |
130,16 → 117,16
} |
} |
|
foreach my $absDef ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName")) |
foreach my $absDef ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName")) |
{ |
my($logical_name) = $absDef->findnodes('./text()')->to_literal ; |
my($is_clock) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isClock/text()')->to_literal ; |
my($is_reset) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isReset/text()')->to_literal ; |
my($is_address) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isAddress/text()')->to_literal ; |
my($is_data) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isData/text()')->to_literal ; |
my($requires_driver) = $absDef->findnodes('../spirit:wire/spirit:requiresDriver/text()')->to_literal ; |
my($driver_type) = $absDef->findnodes('../spirit:wire/spirit:requiresDriver/@spirit:driverType')->to_literal ; |
my($default_value) = $absDef->findnodes('../spirit:wire/spirit:defaultValue/text()')->to_literal ; |
my($is_clock) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isClock/text()')->to_literal ; |
my($is_reset) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isReset/text()')->to_literal ; |
my($is_address) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isAddress/text()')->to_literal ; |
my($is_data) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isData/text()')->to_literal ; |
my($requires_driver) = $absDef->findnodes('../ipxact:wire/ipxact:requiresDriver/text()')->to_literal ; |
my($driver_type) = $absDef->findnodes('../ipxact:wire/ipxact:requiresDriver/@ipxact:driverType')->to_literal ; |
my($default_value) = $absDef->findnodes('../ipxact:wire/ipxact:defaultValue/text()')->to_literal ; |
|
print "\nPort: ${logical_name} "; |
|
174,11 → 161,11
my $master_width; |
my $master_direction; |
|
foreach my $onMaster ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onMaster/spirit:presence")) |
foreach my $onMaster ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onMaster/ipxact:presence")) |
{ |
$master_presence = $onMaster->findnodes('./text()')->to_literal ; |
$master_width = $onMaster->findnodes('../spirit:width/text()')->to_literal ; |
$master_direction = $onMaster->findnodes('../spirit:direction/text()')->to_literal ; |
$master_width = $onMaster->findnodes('../ipxact:width/text()')->to_literal ; |
$master_direction = $onMaster->findnodes('../ipxact:direction/text()')->to_literal ; |
print " onMaster presence $master_presence \n"; |
#unless($master_width) {$master_width = 1;} |
if($master_width) {print " onMaster width $master_width \n";} |
195,11 → 182,11
my $slave_width; |
my $slave_direction; |
|
foreach my $onSlave ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onSlave/spirit:presence")) |
foreach my $onSlave ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onSlave/ipxact:presence")) |
{ |
$slave_presence = $onSlave->findnodes('./text()')->to_literal ; |
$slave_width = $onSlave->findnodes('../spirit:width/text()')->to_literal ; |
$slave_direction = $onSlave->findnodes('../spirit:direction/text()')->to_literal ; |
$slave_width = $onSlave->findnodes('../ipxact:width/text()')->to_literal ; |
$slave_direction = $onSlave->findnodes('../ipxact:direction/text()')->to_literal ; |
print " onSlave presence $slave_presence \n"; |
#unless($slave_width) {$slave_width = 1;} |
if($slave_width) {print " onSlave width $slave_width \n";} |
220,12 → 207,12
|
|
|
foreach my $onSystem ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onSystem/spirit:group")) |
foreach my $onSystem ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onSystem/ipxact:group")) |
{ |
my($system_group) = $onSystem->findnodes('./text()')->to_literal ; |
my($presence) = $onSystem->findnodes('../spirit:presence/text()')->to_literal ; |
my($width) = $onSystem->findnodes('../spirit:width/text()')->to_literal ; |
my($direction) = $onSystem->findnodes('../spirit:direction/text()')->to_literal ; |
my($presence) = $onSystem->findnodes('../ipxact:presence/text()')->to_literal ; |
my($width) = $onSystem->findnodes('../ipxact:width/text()')->to_literal ; |
my($direction) = $onSystem->findnodes('../ipxact:direction/text()')->to_literal ; |
print " onSystem Group $system_group \n"; |
print " onSystem presence $presence \n"; |
#unless($width) {$width = 1;} |
/create_busdefs
1,48 → 1,36
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010-2011> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source is distributed in the hope that it will be */ |
#/* useful, but WITHOUT ANY WARRANTY; without even the implied */ |
#/* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ |
#/* PURPOSE. See the GNU Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
#/****************************************************************************/ |
#/* */ |
#/* SOCGEN Design for Reuse toolset */ |
#/* */ |
#/* Version 1.0.0 */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, z3qmtr45@gmail.com */ |
#/* */ |
#/****************************************************************************/ |
#/* */ |
#/* */ |
#/* Copyright 2016 John T Eaton */ |
#/* */ |
#/* Licensed under the Apache License, Version 2.0 (the "License"); */ |
#/* you may not use this file except in compliance with the License. */ |
#/* You may obtain a copy of the License at */ |
#/* */ |
#/* http://www.apache.org/licenses/LICENSE-2.0 */ |
#/* */ |
#/* Unless required by applicable law or agreed to in writing, software */ |
#/* distributed under the License is distributed on an "AS IS" BASIS, */ |
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */ |
#/* See the License for the specific language governing permissions and */ |
#/* limitations under the License. */ |
#/* */ |
#/* */ |
#/****************************************************************************/ |
|
|
use Getopt::Long; |
use English; |
use File::Basename; |
/gen_busdef
1,48 → 1,34
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010-2011> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source is distributed in the hope that it will be */ |
#/* useful, but WITHOUT ANY WARRANTY; without even the implied */ |
#/* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ |
#/* PURPOSE. See the GNU Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
#/****************************************************************************/ |
#/* */ |
#/* SOCGEN Design for Reuse toolset */ |
#/* */ |
#/* Version 1.0.0 */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, z3qmtr45@gmail.com */ |
#/* */ |
#/****************************************************************************/ |
#/* */ |
#/* */ |
#/* Copyright 2016 John T Eaton */ |
#/* */ |
#/* Licensed under the Apache License, Version 2.0 (the "License"); */ |
#/* you may not use this file except in compliance with the License. */ |
#/* You may obtain a copy of the License at */ |
#/* */ |
#/* http://www.apache.org/licenses/LICENSE-2.0 */ |
#/* */ |
#/* Unless required by applicable law or agreed to in writing, software */ |
#/* distributed under the License is distributed on an "AS IS" BASIS, */ |
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */ |
#/* See the License for the specific language governing permissions and */ |
#/* limitations under the License. */ |
#/* */ |
#/* */ |
#/****************************************************************************/ |
|
############################################################################ |
# General PERL config |
131,32 → 117,32
unless ($spirit_file) {print "Error absDef $vendor $library $component $version file does not exist";} |
|
my $spirit_absDef_file = $parser->parse_file($spirit_file); |
foreach my $absDef ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:vendor")) |
foreach my $absDef ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:vendor")) |
{ |
my($bd_vendor) = $absDef->findnodes('./text()')->to_literal ; |
my($bd_library) = $absDef->findnodes('../spirit:library/text()')->to_literal ; |
my($bd_name) = $absDef->findnodes('../spirit:name/text()')->to_literal ; |
my($bd_version) = $absDef->findnodes('../spirit:version/text()')->to_literal ; |
my($bd_library) = $absDef->findnodes('../ipxact:library/text()')->to_literal ; |
my($bd_name) = $absDef->findnodes('../ipxact:name/text()')->to_literal ; |
my($bd_version) = $absDef->findnodes('../ipxact:version/text()')->to_literal ; |
# print "\tVLNV-ad ${bd_vendor}_${bd_library}_${bd_name}_${bd_version}\n"; |
|
my %systemGroupNames = (); |
|
|
foreach my $bus_type ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:busType")) |
foreach my $bus_type ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:busType")) |
{ |
my($bt_vendor) = $bus_type->findnodes('./@spirit:vendor')->to_literal ; |
my($bt_library) = $bus_type->findnodes('./@spirit:library')->to_literal ; |
my($bt_name) = $bus_type->findnodes('./@spirit:name')->to_literal ; |
my($bt_version) = $bus_type->findnodes('./@spirit:version')->to_literal ; |
my($bt_vendor) = $bus_type->findnodes('./@vendor')->to_literal ; |
my($bt_library) = $bus_type->findnodes('./@library')->to_literal ; |
my($bt_name) = $bus_type->findnodes('./@name')->to_literal ; |
my($bt_version) = $bus_type->findnodes('./@version')->to_literal ; |
# print "\tVLNV-bt ${bt_vendor}_${bt_library}_${bt_name}_${bt_version}\n"; |
|
my $spirit_file = yp::lib::find_ipxact_busDefinition($bt_vendor,$bt_library,$bt_name,$bt_version); |
|
unless ($spirit_file) {print "ERROR: No bus definition\n";} |
unless ($spirit_file) {print "ERROR: No bus definition ${bd_vendor}:${bd_library}:${bd_name}:${bd_version} \n";} |
else |
{ |
my $spirit_busDef_file = $parser->parse_file($spirit_file); |
foreach my $i_name ($spirit_busDef_file->findnodes("//spirit:busDefinition/spirit:systemGroupNames/spirit:systemGroupName")) |
foreach my $i_name ($spirit_busDef_file->findnodes("//ipxact:busDefinition/ipxact:systemGroupNames/ipxact:systemGroupName")) |
{ |
my($sysgroup_name) = $i_name ->findnodes('./text()')->to_literal; |
# print "\t SystemGroup Name $sysgroup_name \n"; |
165,16 → 151,16
} |
} |
|
foreach my $absDef ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName")) |
foreach my $absDef ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName")) |
{ |
my($logical_name) = $absDef->findnodes('./text()')->to_literal ; |
my($is_clock) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isClock/text()')->to_literal ; |
my($is_reset) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isReset/text()')->to_literal ; |
my($is_address) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isAddress/text()')->to_literal ; |
my($is_data) = $absDef->findnodes('../spirit:wire/spirit:qualifier/spirit:isData/text()')->to_literal ; |
my($requires_driver) = $absDef->findnodes('../spirit:wire/spirit:requiresDriver/text()')->to_literal ; |
my($driver_type) = $absDef->findnodes('../spirit:wire/spirit:requiresDriver/@spirit:driverType')->to_literal ; |
my($default_value) = $absDef->findnodes('../spirit:wire/spirit:defaultValue/text()')->to_literal ; |
my($is_clock) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isClock/text()')->to_literal ; |
my($is_reset) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isReset/text()')->to_literal ; |
my($is_address) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isAddress/text()')->to_literal ; |
my($is_data) = $absDef->findnodes('../ipxact:wire/ipxact:qualifier/ipxact:isData/text()')->to_literal ; |
my($requires_driver) = $absDef->findnodes('../ipxact:wire/ipxact:requiresDriver/text()')->to_literal ; |
my($driver_type) = $absDef->findnodes('../ipxact:wire/ipxact:requiresDriver/@ipxact:driverType')->to_literal ; |
my($default_value) = $absDef->findnodes('../ipxact:wire/ipxact:defaultValue/text()')->to_literal ; |
|
# print "\nPort: ${logical_name} "; |
|
192,11 → 178,11
my $master_width; |
my $master_direction; |
|
foreach my $onMaster ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onMaster/spirit:direction")) |
foreach my $onMaster ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onMaster/ipxact:direction")) |
{ |
$master_direction = $onMaster->findnodes('./text()')->to_literal ; |
$master_width = $onMaster->findnodes('../spirit:width/text()')->to_literal ; |
$master_presence = $onMaster->findnodes('../spirit:presence/text()')->to_literal ; |
$master_width = $onMaster->findnodes('../ipxact:width/text()')->to_literal ; |
$master_presence = $onMaster->findnodes('../ipxact:presence/text()')->to_literal ; |
#print " onMaster presence $master_presence \n"; |
#unless($master_width) {$master_width = 1;} |
#print "\n"; |
214,11 → 200,11
my $slave_width; |
my $slave_direction; |
|
foreach my $onSlave ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onSlave/spirit:direction")) |
foreach my $onSlave ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onSlave/ipxact:direction")) |
{ |
$slave_direction = $onSlave->findnodes('./text()')->to_literal ; |
$slave_width = $onSlave->findnodes('../spirit:width/text()')->to_literal ; |
$slave_presence = $onSlave->findnodes('../spirit:presence/text()')->to_literal ; |
$slave_width = $onSlave->findnodes('../ipxact:width/text()')->to_literal ; |
$slave_presence = $onSlave->findnodes('../ipxact:presence/text()')->to_literal ; |
#print " onSlave presence $slave_presence \n"; |
#unless($slave_width) {$slave_width = 1;} |
#print "\n"; |
238,12 → 224,12
|
|
|
foreach my $onSystem ($spirit_absDef_file->findnodes("//spirit:abstractionDefinition/spirit:ports/spirit:port/spirit:logicalName[text() = '$logical_name']/../spirit:wire/spirit:onSystem/spirit:group")) |
foreach my $onSystem ($spirit_absDef_file->findnodes("//ipxact:abstractionDefinition/ipxact:ports/ipxact:port/ipxact:logicalName[text() = '$logical_name']/../ipxact:wire/ipxact:onSystem/ipxact:group")) |
{ |
my($system_group) = $onSystem->findnodes('./text()')->to_literal ; |
my($presence) = $onSystem->findnodes('../spirit:presence/text()')->to_literal ; |
my($width) = $onSystem->findnodes('../spirit:width/text()')->to_literal ; |
my($direction) = $onSystem->findnodes('../spirit:direction/text()')->to_literal ; |
my($presence) = $onSystem->findnodes('../ipxact:presence/text()')->to_literal ; |
my($width) = $onSystem->findnodes('../ipxact:width/text()')->to_literal ; |
my($direction) = $onSystem->findnodes('../ipxact:direction/text()')->to_literal ; |
#print " onSystem Group $system_group \n"; |
#print " onSystem presence $presence \n"; |
#unless($width) {$width = 1;} |