A Software-based Methodology for the Generation of Peripheral Test Sets Based on High-level Descriptions