2016-08-15 3 views
0

zu implementieren Wenn ich versuche, mit dem Vivado HLS zu sytnise, bekomme ich diese Fehler über den unsynthetisierbaren Typ.Mein Projekt ist über Huffman-Codierung.Verwenden Sie HLS, um Huffman-Codierung aus c

@I [HLS-10] Starting code transformations ... 
@I [HLS-10] Checking synthesizability ... 
@E [SYNCHK-11] huff.c:17: Constant 'temp' has an unsynthesizable type '[13 x %struct.tnode.0.2.4]*' (possible cause(s): structure variable cannot be decomposed due to unsupported type conversion or memory copy operation). 
@E [SYNCHK-11] huff.c:21: Constant 'ptemp' has an unsynthesizable type '[13 x %struct.tnode.0.2.4*]*' (possible cause(s): pointer to pointer or global pointer). 
@E [SYNCHK-72] huff.c:24: unsupported c/c++ library function 'qsort'. 
@E [SYNCHK-41] huff.c:38: unsupported pointer reinterpretation from type '%struct.tnode.0.2.4 = type { %struct.tnode.0.2.4*, %struct.t...' to type 'i8*' on variable 'ptemp'. 
@E [SYNCHK-42] huff.c:47: pointer comparison is not supported. 
@I [SYNCHK-10] 5 error(s), 0 warning(s). 
@E [HLS-70] Synthesizability check failed. 

Und auch einige Schwierigkeiten haben, wenn Sie die C-Sim.

**.. 
... 
@I [APCC-3] Tmp directory is apcc_db 
@I [APCC-1] APCC is done. 
@I [LIC-101] Checked in feature [VIVADO_HLS] 
    Generating csim.exe 
@E Simulation failed: SIGSEGV. 
@E [SIM-1] CSim failed with errors. 
4 
    while executing 
"source C:/Users/qijun/Desktop/Huff/hls/solution1/csim.tcl" 
    invoked from within 
"hls::main C:/Users/qijun/Desktop/Huff/hls/solution1/csim.tcl" 
    ("uplevel" body line 1) 
    invoked from within 
"uplevel 1 hls::main {*}$args" 
    (procedure "hls_proc" line 5) 
    invoked from within 
"hls_proc $argv" 
@I [LIC-101] Checked in feature [VIVADO_HLS] ** 

Anhänge enthalten den Code für meine "Top-Funktion". Ich habe keine Erfahrung mit HLS-Tools. Kann mir jemand helfen, wie ich das beheben kann? Wie können wir Datenstrukturen in die Top-Funktion von vivado HLS integrieren? Vielen Dank

+0

Es wäre hilfreich, wenn Sie einen kurzen Beispielcode in Ihre Frage einfügen, der das Problem verursacht, und sich vielleicht auf eine einzelne Frage konzentrieren. –

Antwort

0

Zunächst einmal haben Sie vergessen, die Anhänge oder Code hinzuzufügen.

Zweitens, ich empfehle dringend, mindestens ein wenig der Recommended Coding Styles aus Xilinx-Dokumentation zu lesen, wo sie speziell erklären, dass bestimmte Arten von C-Konstrukte nicht unterstützt werden, wie diejenigen, die Sie auf Ihrer Ausgabe sehen.

Sie könnten also nur einen Teil Ihres Huffman umgestalten oder rekodieren, um diesen Standards zu entsprechen.

Verwandte Themen