Intel® High Level Design
Support for Intel® High Level Synthesis Compiler, DSP Builder, OneAPI for Intel® FPGAs, Intel® FPGA SDK for OpenCL™
663 Discussions

SDC constraints with native module for OpenCL

LennartVH
New Contributor I
598 Views

I'm creating a native verilog module for use within an OpenCL kernel.

I was wondering if it is possible to create SDC constraints for my native module. The openCL compiler does not accept .sdc files, as it only accepts .v, .vhd, and memory files. Is there a different area where I can specify my constraints?

In particular I wish to create a false path constraint to optimize a near-constant value used throughout the design.

Any ideas?

0 Kudos
5 Replies
BoonBengT_Intel
Moderator
583 Views

Hi @LennartVH,

 

Thank you for posting in Intel community forum and hope all is well.
Unfortunately per my understanding SDC should be added in the quartus project level.


Hence you will need to proceed to quartus design to do so.
Please do let us know if I misunderstand the situation.

Best Wishes
BB

0 Kudos
LennartVH
New Contributor I
577 Views

Thanks for replying,

The issue is that working with OpenCL, I cannot edit the generated Quartus Project itself. It is generated by aoc in the process of an OpenCL compile, from an xml file that describes the module. In that xml I must specify the files that are needed for my module: verilog files, vhd files, memory files, etc. And then when it compiles it just copies the necessary files to a fresh Quartus Project and executes the necessary tcl scripts for OpenCL compilation. The thing is that it's really picky about the accepted file types, accepting only these files, and not for example .qip files or .sdc files. I was just looking to see if there's a workaround I can use, even perhaps going as far as using filesystem events to detect and edit the generated top.sdc before quartus reads it.

Kind regards,
Lennart

0 Kudos
BoonBengT_Intel
Moderator
525 Views

Hi @LennartVH,


Apologies for the delayed in response, and noted on the explanation.

My guess is you can use the customization flow which utilize and include the modified reference platforms.

Here is a link to the build flow which will guide you through.

- https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/archives/an780-18-1.pdf

Hope that clarify.


Best Wishes

BB


0 Kudos
LennartVH
New Contributor I
511 Views

Thank you, @BoonBengT_Intel

We've been able to solve the issue in a different way, where we transmit the constant over two wires to shift register receivers all across the FPGA. That saves us a lot of routing resources as well.
In any case thank you for the linked document, if the need comes up again we'll definitely consult it.

Kind regards,
Lennart

0 Kudos
BoonBengT_Intel
Moderator
494 Views

Hi @LennartVH,


Good to know that you managed workaround the issues and appreciate the sharing of the steps. Sure please feel free to get in touch with us for any clarification. As there is no further clarification on this thread, we will no longer monitor this thread.

Thank you for the questions and as always pleasure having you here.


Best Wishes

BB


0 Kudos
Reply