取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Observer
Observer
250 次查看
注册日期: ‎04-29-2020

ERROR: [HLS 200-70] Failed building synthesis data model

转到解答

错误日志:

D:/Xilinx/Vivado/2020.1/bin/vivado_hls.bat D:/hls/risk_ctrl/risk_prj/solution1/csynth.tcl
INFO: [HLS 200-10] Running 'D:/Xilinx/Vivado/2020.1/bin/unwrapped/win64.o/vivado_hls.exe'
INFO: [HLS 200-10] For user 'yong' on host 'desktop-k97jukq' (Windows NT_amd64 version 6.2) on Tue Jun 30 10:08:17 +0800 2020
INFO: [HLS 200-10] In directory 'D:/hls/risk_ctrl'
Sourcing Tcl script 'D:/hls/risk_ctrl/risk_prj/solution1/csynth.tcl'
INFO: [HLS 200-10] Opening project 'D:/hls/risk_ctrl/risk_prj'.
INFO: [HLS 200-10] Adding design file 'src/o2rdecode.cpp' to the project
INFO: [HLS 200-10] Adding design file 'src/req_merge.cpp' to the project
INFO: [HLS 200-10] Adding design file 'src/risk_ctrl.cpp' to the project
INFO: [HLS 200-10] Adding design file 'src/rule_check.cpp' to the project
INFO: [HLS 200-10] Adding design file 'src/t2rdecode.cpp' to the project
INFO: [HLS 200-10] Adding design file 'src/toe_merge.cpp' to the project
INFO: [HLS 200-10] Adding test bench file 'tb/risk_test.cpp' to the project
INFO: [HLS 200-10] Opening solution 'D:/hls/risk_ctrl/risk_prj/solution1'.
INFO: [SYN 201-201] Setting up clock 'default' with a period of 4ns.
INFO: [HLS 200-10] Setting target device to 'xcu50-fsvh2104-2-e'
INFO: [SCHED 204-61] Option 'relax_ii_for_timing' is enabled, will increase II to preserve clock frequency constraints.
INFO: [HLS 200-10] Analyzing design file 'src/toe_merge.cpp' ... 
INFO: [HLS 200-10] Analyzing design file 'src/t2rdecode.cpp' ... 
INFO: [HLS 200-10] Analyzing design file 'src/rule_check.cpp' ... 
INFO: [HLS 200-10] Analyzing design file 'src/risk_ctrl.cpp' ... 
INFO: [HLS 200-10] Analyzing design file 'src/req_merge.cpp' ... 
INFO: [HLS 200-10] Analyzing design file 'src/o2rdecode.cpp' ... 
INFO: [HLS 200-111] Finished Linking Time (s): cpu = 00:00:04 ; elapsed = 00:00:53 . Memory (MB): peak = 996.711 ; gain = 900.445
INFO: [HLS 200-111] Finished Checking Pragmas Time (s): cpu = 00:00:04 ; elapsed = 00:00:53 . Memory (MB): peak = 996.711 ; gain = 900.445
INFO: [HLS 200-10] Starting code transformations ...
INFO: [HLS 200-111] Finished Standard Transforms Time (s): cpu = 00:00:04 ; elapsed = 00:00:55 . Memory (MB): peak = 996.711 ; gain = 900.445
INFO: [HLS 200-10] Checking synthesizability ...
INFO: [XFORM 203-602] Inlining function 'heart_send' into 'rule_check' (src/rule_check.cpp:217) automatically.
INFO: [XFORM 203-602] Inlining function 'stock_s2i' into 'rule_check' (src/rule_check.cpp:232) automatically.
WARNING: [SYNCHK 200-23] src/t2rdecode.cpp:37: variable-indexed range selection may cause suboptimal QoR.
INFO: [SYNCHK 200-10] 0 error(s), 1 warning(s).
INFO: [HLS 200-111] Finished Checking Synthesizability Time (s): cpu = 00:00:05 ; elapsed = 00:00:55 . Memory (MB): peak = 996.711 ; gain = 900.445
INFO: [XFORM 203-1101] Packing variable 'bReq.V' (src/risk_ctrl.cpp:11) into a 264-bit variable.
INFO: [XFORM 203-1101] Packing variable 'bResp.V' (src/risk_ctrl.cpp:11) into a 264-bit variable.
INFO: [HLS 200-489] Unrolling loop 't2r_rx1' (src/t2rdecode.cpp:35) in function 't2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 't2r_rx2' (src/t2rdecode.cpp:58) in function 't2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'security_id' (src/t2rdecode.cpp:71) in function 't2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'client_ord_id' (src/t2rdecode.cpp:77) in function 't2rdecode' completely with a factor of 10.
INFO: [HLS 200-489] Unrolling loop 'account_id' (src/t2rdecode.cpp:83) in function 't2rdecode' completely with a factor of 12.
INFO: [HLS 200-489] Unrolling loop 'req_qty' (src/t2rdecode.cpp:91) in function 't2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'req_price' (src/t2rdecode.cpp:97) in function 't2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'rej_copy_ord_id' (src/rule_check.cpp:120) in function 'reject_send' completely with a factor of 10.
INFO: [HLS 200-489] Unrolling loop 'rej_copy_sec_id' (src/rule_check.cpp:126) in function 'reject_send' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'rej_copy_account_id' (src/rule_check.cpp:132) in function 'reject_send' completely with a factor of 12.
INFO: [HLS 200-489] Unrolling loop 'rej_copy_value' (src/rule_check.cpp:138) in function 'reject_send' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'rej_calc_check_sum' (src/rule_check.cpp:151) in function 'reject_send' completely with a factor of 201.
INFO: [HLS 200-489] Unrolling loop 'rej_send_pkg' (src/rule_check.cpp:158) in function 'reject_send' completely with a factor of 26.
INFO: [HLS 200-489] Unrolling loop 'rej_copy_data' (src/rule_check.cpp:169) in function 'reject_send' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'o2r_rx1' (src/o2rdecode.cpp:37) in function 'o2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'o2r_rx2' (src/o2rdecode.cpp:57) in function 'o2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'security_id' (src/o2rdecode.cpp:76) in function 'o2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'client_ord_id' (src/o2rdecode.cpp:82) in function 'o2rdecode' completely with a factor of 10.
INFO: [HLS 200-489] Unrolling loop 'account_id' (src/o2rdecode.cpp:88) in function 'o2rdecode' completely with a factor of 12.
INFO: [HLS 200-489] Unrolling loop 'req_qty' (src/o2rdecode.cpp:96) in function 'o2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'req_price' (src/o2rdecode.cpp:102) in function 'o2rdecode' completely with a factor of 8.
INFO: [HLS 200-489] Unrolling loop 'tx_r2t' (src/o2rdecode.cpp:138) in function 'o2rdecode' completely with a factor of 8.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.account_id' (src/o2rdecode.cpp:14) automatically.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.client_ord_id' (src/o2rdecode.cpp:14) automatically.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.security_id' (src/o2rdecode.cpp:14) automatically.
INFO: [XFORM 203-102] Partitioning array 'req.client_ord_id' (src/rule_check.cpp:191) automatically.
INFO: [XFORM 203-102] Partitioning array 'req.security_id' (src/rule_check.cpp:191) automatically.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.account_id' (src/t2rdecode.cpp:14) automatically.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.client_ord_id' (src/t2rdecode.cpp:14) automatically.
INFO: [XFORM 203-102] Partitioning array 'ordReqData.security_id' (src/t2rdecode.cpp:14) automatically.
INFO: [XFORM 203-101] Partitioning array 'ordBuff'  in dimension 1 with a cyclic factor 8.
INFO: [XFORM 203-101] Partitioning array 'rejectBin'  in dimension 1 with a cyclic factor 8.
INFO: [XFORM 203-101] Partitioning array 'ordBuff.1'  in dimension 1 with a cyclic factor 8.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.0' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.1' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.2' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.3' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.4' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.5' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.6' automatically.
INFO: [XFORM 203-102] Partitioning array 'rejectBin.7' automatically.
INFO: [XFORM 203-602] Inlining function 'heart_send' into 'rule_check' (src/rule_check.cpp:217) automatically.
INFO: [XFORM 203-602] Inlining function 'stock_s2i' into 'rule_check' (src/rule_check.cpp:232) automatically.
INFO: [XFORM 203-712] Applying dataflow to function 'risk_ctrl', detected/extracted 6 process function(s): 
	 'o2rdecode'
	 'rule_check'
	 'tgw_merge'
	 't2rdecode'
	 'oms_merge'
	 'req_merge'.
INFO: [XFORM 203-11] Balancing expressions in function 'rule_check' (src/rule_check.cpp:189)...6 expression(s) balanced.
INFO: [XFORM 203-11] Balancing expressions in function 'reject_send' (src/rule_check.cpp:74)...107 expression(s) balanced.
INFO: [HLS 200-111] Finished Pre-synthesis Time (s): cpu = 00:00:12 ; elapsed = 00:01:02 . Memory (MB): peak = 996.711 ; gain = 900.445
ERROR: [HLS 200-70] Failed building synthesis data model.
command 'ap_source' returned error code
    while executing
"source D:/hls/risk_ctrl/risk_prj/solution1/csynth.tcl"
    invoked from within
"hls::main D:/hls/risk_ctrl/risk_prj/solution1/csynth.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel 1 hls::main {*}$args"
    (procedure "hls_proc" line 5)
    invoked from within
"hls_proc $argv"
Finished C synthesis.

 

 

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Observer
Observer
147 次查看
注册日期: ‎04-29-2020

回复: ERROR: [HLS 200-70] Failed building synthesis data model

转到解答
char account[12];
ap_uint<96> act;
act = account;

在原帖中查看解决方案

0 项奖励
4 条回复4
Highlighted
Moderator
Moderator
229 次查看
注册日期: ‎05-27-2018

回复: ERROR: [HLS 200-70] Failed building synthesis data model

转到解答

Hi @liuyong ,

这个报错说明代码里面的某些算法HLS目前还不支持。GET_FUND是什么功能?

bReq.op = BookReq::GET_FUND;

 Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Highlighted
Observer
Observer
226 次查看
注册日期: ‎04-29-2020

回复: ERROR: [HLS 200-70] Failed building synthesis data model

转到解答
struct BookReq
{
    enum BookOp
    {
        IDLE,
        INIT_ACCT,
        INIT_FUND,
        SET_HOLD,
        GET_HOLD,
        SET_FUND,
        GET_FUND,
        CAM_WR,
        CAM_CLEAR,
        CAM_CMP,
        CAM_DELETE
    } op;
    bool status;
    st_int st;
    act_t account;
    int64_t value;
    int64_t value2;
};

 没有特殊的算法,仅仅是在一个stream里发送请求,在另一个stream里blocking读取响应

0 项奖励
Highlighted
Observer
Observer
220 次查看
注册日期: ‎04-29-2020

回复: ERROR: [HLS 200-70] Failed building synthesis data model

转到解答

微信截图_20200630111639.png

上图是rule-check模块的接口。还要一些输出没画出来。rule-check从stream接收请求,进行检查,检查过程中需要的信息通过req-stream发送请求给book-mgr,从resp-stream得到数据

0 项奖励
Highlighted
Observer
Observer
148 次查看
注册日期: ‎04-29-2020

回复: ERROR: [HLS 200-70] Failed building synthesis data model

转到解答
char account[12];
ap_uint<96> act;
act = account;

在原帖中查看解决方案

0 项奖励