StaticOrRuntimeParameter constructor

StaticOrRuntimeParameter({
  1. required String name,
  2. Logic? runtimeConfig,
  3. bool? staticConfig = false,
})

Creates a new StaticOrRuntimeParameter instance.

runtimeConfig overrides staticConfig and must be 1 bit wide. A missing static value defaults to false.

Implementation

StaticOrRuntimeParameter(
    {required super.name, super.runtimeConfig, bool? staticConfig = false})
    : super(staticConfig: runtimeConfig == null && (staticConfig ?? false)) {
  final runtimeBooleanConfig = runtimeConfig;
  if (runtimeBooleanConfig != null && runtimeBooleanConfig.width != 1) {
    throw RohdHclException(
        'Runtime boolean configuration "$name" must be 1 bit wide, '
        'got ${runtimeBooleanConfig.width}.');
  }
}