Skip to content

chore(xcelium): remove the -enable_cmdline_define_redefinition argument - #558

Open
tymonx wants to merge 1 commit into
olofk:mainfrom
tymonx:feature/xcelium-remove-enable_cmdline_define_redefinition
Open

chore(xcelium): remove the -enable_cmdline_define_redefinition argument#558
tymonx wants to merge 1 commit into
olofk:mainfrom
tymonx:feature/xcelium-remove-enable_cmdline_define_redefinition

Conversation

@tymonx

@tymonx tymonx commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Closes #532

This is not needed because every group of files is compiled by using the -makelib <library> <options>... <file> -endlib that is creating own scope where options like -define NAME=VALUE are not interleaving with each other.

Each groups of files is created based on files, library name and defines:

for fg in filegroups:
# Ignore empty file groups
if fg[1]:
(file_type, lib, defines) = fg[0]
if lib:
files_cmd += ["-makelib", lib]
for k, v in defines.items():
files_cmd += ["-define", f"{k}={v}"]
if file_type.startswith("systemVerilogSource"):
files_cmd += ["-sv"]
if file_type in self.FILE_TYPE_TO_FEATURE_FLAG:
files_cmd += [self.FILE_TYPE_TO_FEATURE_FLAG[file_type]]
files_cmd += fg[1]
if lib:
files_cmd += ["-endlib"]

Additionally, the lib is always present and it is not empty:

lib = f.get("logical_name", "worklib")

In case of the Xcelium simulator, if user doesn't provide the library name explicitly, everything is compiled under the default library worklib.

So this:

xrun -enable_cmdline_define_redefinition argument -define KEY=VALUE1 <file1> -define KEY=VALUE2  <file2> ...

Could be replaced with explicitly -makelib worklib <options> <file> -endlib:

xrun -makelib worklib -define KEY=VALUE1 <file1> -endlib -makelib worklib -define KEY=VALUE2 <file2> -endlib ...

And the -enable_cmdline_define_redefinition argument is not needed. That argument is not documented, not present in the xrun -helpall and it is not supported by the Cadence Xcelium below version 25.

@tymonx
tymonx force-pushed the feature/xcelium-remove-enable_cmdline_define_redefinition branch from 1cd918a to c0c1002 Compare August 11, 2026 09:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(xcelium): the -enable_cmdline_define_redefinition argument is not supported for Xcelium 24 and below

1 participant