packagetopimportsystem.SoCParametersimportxiangshan.{EnviromentParameters,XSCoreParameters}caseclassParameters(coreParameters:XSCoreParameters=XSCoreParameters(),socParameters:SoCParameters=SoCParameters(),envParameters:EnviromentParameters=EnviromentParameters()){require(!(envParameters.FPGAPlatform&&envParameters.EnableDebug),"Enable debug(display log) is only supported in simulation enviroment!")require(!(socParameters.EnableILA&&!envParameters.FPGAPlatform),"ILA is only supported in FPGA platform!")}objectParameters{valdefaultParameters=Parameters()valsimParameters=Parameters(envParameters=EnviromentParameters(FPGAPlatform=false))// sim only, disable logvaldebugParameters=Parameters(envParameters=simParameters.envParameters.copy(EnableDebug=true))// open logprivatevarparameters=Parameters()// a default parameter, can be updated before usedefget:Parameters=parametersdefset(p:Parameters):Unit={parameters=p}}