Questions tagged [vivado-hls]

Vivado® High-Level Synthesis accelerates IP creation by enabling C, C++ and System C specifications to be directly targeted into Xilinx All Programmable devices without the need to manually create RTL. Supporting both the ISE® and Vivado design environments Vivado HLS provides system and design architects alike with a faster path to IP creation by :

  • Abstraction of algorithmic description, data type specification (integer, fixed-point or floating-point) and interfaces (FIFO, AXI4, AXI4-Lite, AXI4-Stream)
  • Extensive libraries for arbitrary precision data types, video, DSP and more… see the below section under Libraries
  • Directives driven architecture-aware synthesis that delivers the best possible QoR
  • Fast time to QoR that rivals hand-coded RTL
  • Accelerated verification using C/C++ test bench simulation, automatic VHDL or Verilog simulation and test bench generation
  • Multi-language support and the broadest language coverage in the industry Automatic use of Xilinx on-chip memories, DSP elements and floating-point library
121 questions
2
votes
2 answers

Can I compile the C code I write in Vivado HLS using a gcc compiler?

I was developing a C based design for someone using Vivado HLS 2015.1. This design uses the arbitrary precision data types included in "ap_cint.h". I wanted to know if I could compile this code in a standard gcc compiler by including the relevant…
Nikhil Pratap
  • 21
  • 1
  • 3
1
vote
1 answer

How to flatten non perfect loop in Vitis HLS

My project is to encode an input string into an integer vector. I already have an encoding method. I create a lookup table and begin to stream the input string in. Compare each char of the input string to the char key of the lookup table, get the…
Thang Dinh
  • 87
  • 2
  • 9
1
vote
2 answers

The Zynq Book Tutorials Lab 4-C part adding directive problem

I am trying run zynq book tutorials lab 4 and c part in vivado hls (hls included vitis in new version) but when I right click in the step of adding directive as described in the book, the add directive window does not open. I tried this separately…
Kerim Turak
  • 127
  • 10
1
vote
2 answers

Vivado Launch SDK does not apper on file menu

I try to create IP Block in vivado and launch SDK but Launch SDK does not appear file menu. 1-I create a project and I choice the zedboard Zynq Evaluation Board 2-I create a block design and I add a ZYNQ7 Processing System. 3-Then I connect the…
Kerim Turak
  • 127
  • 10
1
vote
0 answers

VHDL: [Place 30-574] Poor placement for routing between an IO pin and BUFG

I am trying to design a stopwatch on Nexys4 DDR and get the following error: [Place 30-574] Poor placement for routing between an IO pin and BUFG. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE…
Teodora Grecu
  • 13
  • 1
  • 5
1
vote
1 answer

C++ static object does not save array attribute value

I am working in C++ inside Vitis HLS from Xilinx. I am writing a simple buffer to perform the well know overlap and add algorithm (https://www.eetimes.com/fft-convolution-and-the-overlap-add-method/) My code creates a static object (my buffer) and…
Mattia Surricchio
  • 1,362
  • 2
  • 21
  • 49
1
vote
2 answers

undefined reference to a function call

I am writing an image processing application in Vivado HLS with cpp. I am getting a error of saying undefined reference to ISP(a function call) I have seen this error multiple times and looked at similar cases in the stack overflow and was able to…
1
vote
1 answer

How to transfer part of a Xilinx HLS stream to another function?

I have two variables: void func1(hls::stream> &a); void func2(hls::stream> &b); Where ap_axiu is defined as: template struct ap_axiu{ ap_uint data; ap_uint<(D+7)/8> keep; …
Roy Meijer
  • 47
  • 6
1
vote
1 answer

Optimizing the Vivado HLS code to reduce the latency for image processing algorithm

I am trying to implement an image processing algorithm for a gamut mapping filter for Hardware using Vivado HLS. I have created a synthesizable version from a Halide code. But it is taking way too long for an image of (256x512) it was taking around…
1
vote
2 answers

Shifting the coordinates of one pixel

I am trying to make a prototype for an algorithm to find the coordinates of a ball on a plate, and I want to make it as efficient as possible because I have to implement it in an FPGA. The pictures of the ball and plate are not always in the same…
Roy Meijer
  • 47
  • 6
1
vote
1 answer

ambiguous overload for 'operator+' when typecasting from unsigned char to a fixed point data type

I implementing an image processing algorithm on vivado hls, as a part of optimization, I am trying to change the floating point representation into fixed point representation. Here is the part where it is going wrong #include unsigned…
1
vote
1 answer

What is the algorithm used in QRF_ALT function in linear Algebra library provided with the Xilinx Vivado_HLS?

Along with Vivado HLS installation a linear algebra library is provided. Within this library there is this function QRF_ALT, which is supposed to be a high throughput version of Qrf-basic: QR decomposition which uses givens rotations. My question is…
1
vote
2 answers

How to launch Vivado on Ubuntu?

I have Ubuntu 18.04 and have installed Xilinx Vivado 2019.1. Installation went fine and I installed it in the home/Desktop directory instead of the usual opt/Xilinx directory. I want to know how can I launch it now that I have installed it. This are…
1
vote
1 answer

Vivado / Vitis HLS - "WARNING: Port "xy" has no fanin or fanout and is left dangling."

Often I get the error message WARNING: [RTGEN 206-101] Port 'xy' has no fanin or fanout and is left dangling. Please use C simulation to confirm this function argument can be read from or written to. C simulation and synthesis passes. What is the…
Peter Lehnhardt
  • 4,375
  • 1
  • 14
  • 33
1
vote
0 answers

understanding the line buffer concept in vivado hls

I am going through a median filter implemented in hls which can be found at https://cas.tudelft.nl/Education/courses/et4351/Median.pdf This might be a silly question, but I am not able to understand how the first element of line buffer is getting…
1
2
3
8 9