【问题标题】:use HLS to implement Huffman coding from c使用 HLS 从 c 实现 Huffman 编码
【发布时间】:2016-08-15 00:25:38
【问题描述】:

当我尝试使用 Vivado HLS 进行合成时,我收到关于不可合成类型的错误。我的项目是关于霍夫曼编码的。

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

在做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] **

附件包括我的“顶级功能”的代码。 我没有使用 HLS 工具的经验。有人可以帮我解决这个问题吗?我们如何在 vivado HLS 的顶级函数中包含数据结构? 谢谢你

【问题讨论】:

  • 如果您在导致问题的问题中放置一个简短的示例代码,并且可能专注于一个问题,这将很有帮助。

标签: huffman-code http-live-streaming vivado


【解决方案1】:

首先,您忘记添加附件或任何代码。

其次,我强烈建议您至少阅读 Xilinx 文档中的 Recommended Coding Styles 部分内容,其中专门解释了某些类型的 C 构造不受支持,例如您在输出中看到的那些。

因此,您可能只想重构或重新编码 Huffman 的一部分以符合这些标准。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多