Package: elfws
Suppresses warnings in EDA logfiles.Table of ContentsOverviewKey BenefitsKey FeaturesInstallationUsageDocumentationContributingOverviewELFWS was created after going through warning triage for an FPGA design.
The synthesis tool provided the ability to suppress warnings, but only at the warning id level.
The place and route tool did not supply any ability to suppress warnings.
Eventually a design change induced a new warning.
Unfortunately, it was not detected until much later in the design process.
A design change was required to resolve the warning.
The change was minor, but could have resulted in major design changes if it could not have been resolved.Key BenefitsStandardizes warning suppression definitionProvides warning suppression for tools that do not support suppressionsKey FeaturesWarning definitionUses YAML to define suppression rulesCan include justifications for warning suppressionContinuous Integration tool supportcommand line tooloutputs JUnit XML filesAudit Reportswhich rules suppressed which warningsrules which did not suppress any warningswarnings which were suppressed by multiple rulesInstallationYou can get the latest released version of ELFWS viapip.pipinstallelfwsThe latest development version can be cloned…gitclonehttps://github.com/jeremiah-c-leary/eda-log-file-warning-supressor.git…and then installed locally…pythonsetup.pyinstallUsageELFWS can be invoked usingelfwsat the command line prompt:$elfwsusage:elfws[-h]{create,report,show,suppress,version}...SuppressesWarningsinlogfiles.positionalarguments:{create,report,show,suppress,version}createCreatesuppressionfilereportGenerateanauditreportshowShowwarningsinlogfilessuppressSuppresseswarningsinlogfilesversionDisplaysELFWSversioninformationoptionalarguments:-h,--helpshowthishelpmessageandexitELFWS has five subcommands:  create, report, show, suppress and version.createUse the create subcommand to generate a suppression rule file from a given warning file.This can be used as a starting point for a suppression file.
Care should be taken as the output messages are not formatted to support regular expressions.The arguments for the subcommand can be listed using the-hoption:$elfwscreate-husage:elfwscreate[-h][--suppression_fileSUPPRESSION_FILE]log_fileoutput_suppression_filepositionalarguments:log_fileLogfilewithwarningstoextractoutput_suppression_fileSuppressionfiletocreateoptionalarguments:-h,--helpshowthishelpmessageandexit--suppression_fileSUPPRESSION_FILEExistingsuppressionfiletofilteroutexistingreportUse the report subcommand to generate detailed output of suppression warnings.The report will show the following information:Unsuppressed warningsWhich suppression rules suppressed which warningsUnused suppression rulesWarnings that were suppressed by multiple suppression rulesSummary of suppression rules and warningsThe report can be used during reviews to ensure the suppressions are valid.This command has the option argument–junit, which will output a JUnit XML file.
This file can be used with continuous integration tools to check for new warnings.The arguments for the subcommand can be listed using the-hoption:$elfwsreport-husage:elfwsreport[-h][--junitJUNIT]log_filesuppression_filereport_filepositionalarguments:log_fileLogfiletocheckforwarningssuppression_fileYAMLformattedwarningsuppressionfilereport_fileOutputreportfileoptionalarguments:-h,--helpshowthishelpmessageandexit--junitJUNITGenerateJUnitXMLfileJUNITshowUse the show subcommand to list all the warnings in a logfile.This can be useful when first starting out suppressing warnings and a suppression rule file does not exist.The arguments for the subcommand can be listed using the-hoption:$elfwsshow-husage:elfwsshow[-h]log_filepositionalarguments:log_fileLogfiletoshowwarningsoptionalarguments:-h,--helpshowthishelpmessageandexitsuppressUse the suppress subcommand to suppress warnings in a logfile.This can be useful when creating a suppression rule file.
It reports the results to the screen and only shows warnings which have not been suppressed.This subcommand can also be used to support a continuous integration (CI) flow using the–junitoption.
The–junitoption will create a JUnit XML file which can be read by CI tools.The arguments for the subcommand can be listed using the-hoption:$elfwssuppress-husage:elfwssuppress[-h]log_filesuppression_filepositionalarguments:log_fileLogfiletocheckforwarningssuppression_fileYAMLformattedwarningsuppressionfileoptionalarguments:-h,--helpshowthishelpmessageandexitversionUse the version subcommand to report the installed version of ELFWS.There are no arguments for this subcommand.$elfwsversionEDALogFileWarningSuppressor(ELFWS)version1.0.0DocumentationAll documentation for ELFWS is hosted atread-the-docs.ContributingI welcome any contributions to this project.
No matter how small or large.There are several ways to contribute:Bug reportsCode base improvementsFeature requestsPlease refer to the documentation hosted atread-the-docsfor more details on contributing.