diff --git a/src/OneWare.OssCadSuiteIntegration/ViewModels/YosysCompileSettingsViewModel.cs b/src/OneWare.OssCadSuiteIntegration/ViewModels/YosysCompileSettingsViewModel.cs index 1465a571..a64363db 100644 --- a/src/OneWare.OssCadSuiteIntegration/ViewModels/YosysCompileSettingsViewModel.cs +++ b/src/OneWare.OssCadSuiteIntegration/ViewModels/YosysCompileSettingsViewModel.cs @@ -83,7 +83,7 @@ public YosysCompileSettingsViewModel(UniversalFpgaProjectRoot fpgaProjectRoot, I }; _yosysQuietFlagSetting = new CheckBoxSetting("Yosys Verbose", - Boolean.Parse(defaultProperties.GetValueOrDefault("yosysQuietFlag") ?? "true")); + !Boolean.Parse(defaultProperties.GetValueOrDefault("yosysQuietFlag") ?? "true")); _nextPnrToolSetting = new ComboBoxSetting("NextPnr Tool", defaultProperties.GetValueOrDefault("yosysToolchainNextPnrTool") ?? "", [ @@ -169,8 +169,9 @@ public YosysCompileSettingsViewModel(UniversalFpgaProjectRoot fpgaProjectRoot, I _yosysFlagSetting.Value = yFlags; if (_settings.TryGetValue("yosysToolchainCommand", out var yCommand)) _yosysCommandSetting.Value = yCommand; - if (_settings.TryGetValue("yosysQuietFlag", out var yQuiet)) - _yosysQuietFlagSetting.Value = yQuiet; + if (_settings.TryGetValue("yosysQuietFlag", out var yQuiet) + && Boolean.TryParse(yQuiet, out var quiet)) + _yosysQuietFlagSetting.Value = !quiet; if (_settings.TryGetValue("yosysToolchainNextPnrTool", out var nTool)) _nextPnrToolSetting.Value = nTool; @@ -207,7 +208,7 @@ public void Save(FlexibleWindow flexibleWindow) _settings["yosysToolchainCommand"] = _yosysCommandSetting.Value.ToString()!; _settings["yosysToolchainOutputType"] = _nextPnrToolOutputTypeSetting.Value.ToString()!; _settings["packToolOutputFormat"] = _packOutputTypeSetting.Value.ToString()!; - _settings["yosysQuietFlag"] = _yosysQuietFlagSetting.Value.ToString()!; + _settings["yosysQuietFlag"] = (!(bool)_yosysQuietFlagSetting.Value).ToString(); FpgaSettingsParser.SaveSettings(_fpgaProjectRoot, _selectedFpga.Name, _settings); diff --git a/src/OneWare.OssCadSuiteIntegration/Yosys/YosysService.cs b/src/OneWare.OssCadSuiteIntegration/Yosys/YosysService.cs index b90e91b3..5cba9219 100644 --- a/src/OneWare.OssCadSuiteIntegration/Yosys/YosysService.cs +++ b/src/OneWare.OssCadSuiteIntegration/Yosys/YosysService.cs @@ -96,6 +96,17 @@ public async Task SynthAsync(UniversalFpgaProjectRoot project, FpgaModel f return false; } + outputService.WriteLine(x); + return true; + }) + .WithErrorHandler(x => + { + if (x.StartsWith("Error:", StringComparison.OrdinalIgnoreCase)) + { + logger.Error(x); + return false; + } + outputService.WriteLine(x); return true; });