Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vivado simulator wrapper generic assignment #1

Open
pabennett opened this issue Dec 9, 2015 · 1 comment
Open

Vivado simulator wrapper generic assignment #1

pabennett opened this issue Dec 9, 2015 · 1 comment
Assignees
Labels

Comments

@pabennett
Copy link
Owner

The Vivado simulator wrapper is unable to set top-level generics during simulation because the command line switch "-generic_top" does not work as documented in UG900 (p89)

According to the documentation, xelab accepts a command line argument of the form -generic_top "P1=10" in order to set a top level generic during elaboration, however doing so results in the following error:

xelab -generic_top "data_width=32" lib_tb_max_hold.tb_max_hold
ERROR: [XSIM 43-3225] Cannot find design unit work.'32' in library work located at xsim.dir/work.

If spaces are inserted between the '=' and the name+value the command is recognised correctly, but the spaces prevent the name+value from being correctly set:

xelab -generic_top "data_width =32" lib_tb_max_hold.tb_max_hold
ERROR: [XSIM 43-3281] Parameter/Generic data_width   specified in commandline not found in design.

xelab -generic_top "data_width= 32" lib_tb_max_hold.tb_max_hold
ERROR: [VRFC 10-1509] unknown actual generic literal value  32 for generic data_width ignored

xelab -generic_top "data_width = 32" lib_tb_max_hold.tb_max_hold
ERROR: [XSIM 43-3281] Parameter/Generic data_width   specified in commandline not found in design.

If the name+value and '=' are encapsulated in double quotes the command will work, e.g:

xelab -generic_top "data_width""=""32" lib_tb_max_hold.tb_max_hold

However, this may not work on all platforms (this was tested on Windows) and the underlying subprocess.Popen routine does not seem to be able to pass an argument using this unconventional form.

@pabennett pabennett added the bug label Dec 9, 2015
@pabennett pabennett self-assigned this Dec 9, 2015
pabennett added a commit that referenced this issue Dec 9, 2015
@nachiket
Copy link

I have the same issue on MobaXterm in Windows running bash. I cannot for the life of me figure out why the above fix isn't working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants