UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Participant gtushar
Participant
1,114 Views
Registered: ‎02-08-2016

Vivado HLS synthesis failed with no information

I am trying to make a simple 2x2 systolic matrix multiply design :

Please see the attached image for the code.

 

mac2.cpp

mac3.cpp

mac4.cpp are the same code as mac.cpp but with less parameters.

 

When I try to synthesize this design I get the following error:

-----------------------------------------------------------------------------------------------------

ERROR in linking the design while executing csynth.tcl

 

uplevel 1 hls::main{*}$args

   procedure "hls_proc" line 5

   invoked from within

"hls_proc" $argv

 

I can't figure out anything from this error.

 

1.PNG
2.PNG
0 Kudos
7 Replies
Scholar hbucher
Scholar
1,093 Views
Registered: ‎03-22-2016

Re: Vivado HLS synthesis failed with no information

@gtushar Try running the c-simulation first. It is actually always a good idea to have a testbench.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos
Participant gtushar
Participant
1,053 Views
Registered: ‎02-08-2016

Re: Vivado HLS synthesis failed with no information

The simulation runs fine.

I have a testbench file:

 

#include <stdio.h>
#include <stdlib.h>
#include "parameters.h"

int main (int argc, char** argv) {
    //variable
    int8_t mat1r1[N] = {1,2};
    int8_t mat1r2[N] = {3,4};
    int8_t mat2c1[N] = {5,7};
    int8_t mat2c2[N] = {6,8};

    hls::stream<int8_t> inp1, inp2, inp3, inp4;
    hls::stream<int16_t> res;

    //load data
    for (int i=0; i<N; i++) {
        inp1.write(mat1r1[i]);
        inp2.write(mat1r2[i]);
        inp3.write(mat2c1[i]);
        inp4.write(mat2c2[i]);
    }    

    //dut
    sysotlic_mmult(inp1, inp2, inp3, inp4, res);

    //print output
    printf("Result :\n");
    for (int i=0; i<N*N; i++)
      printf("%d\t", res.read());
}

0 Kudos
Participant gtushar
Participant
1,049 Views
Registered: ‎02-08-2016

Re: Vivado HLS synthesis failed with no information

It is fixed now. Somehow the test case was running in simulation even though my top_function name was misspelled.

Highlighted
Newbie p.quan
Newbie
270 Views
Registered: ‎10-15-2019

Re: Vivado HLS synthesis failed with no information

Can you please talk in more detail about the solution?

0 Kudos
Moderator
Moderator
220 Views
Registered: ‎11-21-2018

Re: Vivado HLS synthesis failed with no information

Hi @gtushar 

Would you be able to update the community about the solution, to help people who encounter the same issues? 

Regards, 

Aoife
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Participant gtushar
Participant
214 Views
Registered: ‎02-08-2016

Re: Vivado HLS synthesis failed with no information

It was just a function name typo error. Somehow the tool didn't gave me a warning.

0 Kudos
Moderator
Moderator
136 Views
Registered: ‎05-31-2017

Re: Vivado HLS synthesis failed with no information

Hi @gtushar,

As you were able to solve issue, can you please kindly mark your above post as a solution  ?

 

0 Kudos