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

Generic Vivado FPGA programming script. #468

Closed
wants to merge 1 commit into from

Conversation

Fatsie
Copy link
Contributor

@Fatsie Fatsie commented Aug 8, 2020

Will likely also work for xilinx_ultrascale.py but I can't test that. Tested it here on Arty S7-50.

@whitequark
Copy link
Member

I'm not sure if this is the right approach, for two reasons.

First, it won't work with non-Vivado toolchains at all (see #463).

Second, while the build process is inherently tied to Vivado (if Vivado is chosen as the toolchain), there's nothing that inherently ties the programming process to Vivado, whether with Digilent developer boards, or with others. So it's not obvious to me that this is a sensible default.

@Fatsie
Copy link
Contributor Author

Fatsie commented Aug 9, 2020

First, it won't work with non-Vivado toolchains at all (see #463).

Sure, but I added it to a platform that only has Vivado as toolchain. I agree that this would need to be revisited if more than one toolchain would be supported for Xilinx 7 Series.

Second, while the build process is inherently tied to Vivado (if Vivado is chosen as the toolchain), there's nothing that inherently ties the programming process to Vivado, whether with Digilent developer boards, or with others. So it's not obvious to me that this is a sensible default.

Are there boards where build process is Vivado but can't be programmed with Vivado ?
Personally I prefer taking Vivado by default if possible as people will need to have that installed anyway and not necesserily xc3sprog or openFPGALoader.

@whitequark
Copy link
Member

whitequark commented Aug 9, 2020

I agree that this would need to be revisited if more than one toolchain would be supported for Xilinx 7 Series.

Well, I'd rather not accept a PR that I know would need fundamental rework (that will likely break backward compatibility) almost immediately.

Are there boards where build process is Vivado but can't be programmed with Vivado ?

I believe any board where the FPGA is programmed by an FX2 would qualify, since effectively all of them use custom one-off programmers (integrated on board, but still).

Personally I prefer taking Vivado by default if possible as people will need to have that installed anyway and not necesserily xc3sprog or openFPGALoader.

As mentioned elsewhere, I agree with the choice of Vivado as a default, at least where it's possible and suggested by the board vendor. But this is a per-board concern, not per-platform.

@Fatsie
Copy link
Contributor Author

Fatsie commented Aug 9, 2020

From the other side I am not convinced that the programming is totally disconnected from the building. When changing toolchain one may also want to adapt the (default) programmer.

@Fatsie
Copy link
Contributor Author

Fatsie commented Aug 9, 2020

Anyway, closing as this PR is not considered fit for merging.

@Fatsie Fatsie closed this Aug 9, 2020
@whitequark
Copy link
Member

When changing toolchain one may also want to adapt the (default) programmer.

Yes, I'm open to consider that option, though there may be unexpected consequences.

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

Successfully merging this pull request may close these issues.

None yet

2 participants