2016-08-15 2 views
0

Когда я пытаюсь использовать систему с помощью Vivado HLS, я получаю эти ошибки о несинтезируемом типе. Мой проект о кодировании huffman.использовать HLS для реализации кодировки Хаффмана с 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. 

А также с некоторыми трудностями при выполнении сима Си.

**.. 
... 
@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] ** 

Вложения включают код для моей «верхней функции». У меня нет опыта с инструментами HLS. Может кто-нибудь помочь мне, как я могу это исправить? Как мы можем включить структуры данных в верхнюю функцию vivado HLS? Спасибо

+0

Было бы полезно, если бы вы ввели короткий пример кода в свой вопрос, который вызывает проблему, и, возможно, сосредоточиться на одном вопросе. –

ответ

0

Прежде всего, вы забыли добавить вложения или любой код.

Во-вторых, я настоятельно рекомендую прочитать хотя бы немного Recommended Coding Styles из документации Xilinx, где они специально объясняют, что некоторые типы конструкций C не поддерживаются, например те, которые вы видите на своем выходе.

Таким образом, вы можете просто захотеть рефакторинга или переделать часть своего Хаффмана, чтобы соответствовать этим стандартам.

Смежные вопросы