Vitis-HLS Abgleich

OP #7823821
Lesenswert?

Hi,

arbeitet jemand mit Vitis HLS und hat Lust, den untenstehenden Code da kurz durchzuschicken? Meine Neugier beschraenkt sich grundsaetzlich darauf, ob der Code ohne weitere Dekoration in eine einigermassen balancierte Pipeline umgesetzt werden kann, und was da so an Resourcen rausfallen. Die generierte HDL wuerde ich mir im Rahmen der Verifikation natuerlich auch gerne anschauen :-)

1
#include <stdint.h>
2

3
void decompose(const int16_t *x, int n, int16_t *r0, int16_t *r1)
4
{
5
  const int16_t *end_line= x + n - 2;
6
  int16_t p1 = x[1];
7
  int16_t p2 = x[2];
8

9
  while (x < end_line) {
10
    *r0++ = 6 * x[0] + 2 * (p1 + x[1]) - (p2 + x[2]);
11
    p1 = x[1]; p2 = x[0];
12
    *r1++ = 2 * p1 - (p2 + x[2]);
13
    x += 2;
14
  }
15
  // Last:
16
  *r0++ = 6 * x[0] + 2 * (p1 + x[1]) - (p2 + x[0]);
17
  *r1++ = 2 * (x[1] - x[0]);
18
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren