Vivado HLS > v2019.1 > memory copy is not supported unless used on bus interface possible > v2016.2: 문제 없음

3053 단어 VivadoHLSerrorPYNQ
운영 환경
PYNQ-Z1
Windows 10 Pro v1909
Vivado HLS v2019.1

개요


  • Vivado HLS에서 memcpy()를 사용한 구현에서 오류가 발생함
  • Vivado HLS v2019.1

  • Vivado HLS v2016.2에서 나오지 않은 오류

  • 증상


  • FPGA 프로그래밍 대전 Xilinx편 (코바야시 유우사양)
  • 10-4 AXI 마스터 드로잉 회로 설계


  • fillbox.c 및 fillbox_tb.c를 사용하여 HLS에서 Run C Simulation 및 Run C Synthesis를 수행하였다.
  • Run C Simulation : 성공
  • Run C Synthesis: 오류 (아래)



  • 오류



    오류 1 > ERROR: [HLS 200-70] Synthesizability check failed.


    ERROR: [HLS 200-70] Synthesizability check failed.
    
    command 'ap_source' returned error code
    
        while executing
    
    "source C:/ip_200902/fillbox_2019_1_3/fillbox/solution1/csynth.tcl"
    
        invoked from within
    
    "hls::main C:/ip_200902/fillbox_2019_1_3/fillbox/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"  fillbox:solution1  2020/09/15 20:10:12
    

    오류 2 > memory copy is not supported unless used on bus interface possible


    ERROR: [SYNCHK 200-22] ../fillbox_ip/SRC/fillbox.c:32: memory copy is not supported unless used on bus interface possible 
    cause(s): non-static/non-constant local array with initialization).   fillbox:solution1  2020/09/15 20:10:12
    

    오류 3 > unsupported memory access on variable 'vram' which is (or contains) an array with unknown size at compile time.


    ERROR: [SYNCHK 200-61] ../fillbox_ip/SRC/fillbox.c:31: unsupported memory access on variable 'vram' which is (or 
    contains) an array with unknown size at compile time.   fillbox:solution1  2020/09/15 20:10:12
    

    v2016.2 > 문제 없음



    책의 게재시는 v2016.2가 사용되고 있었던 것 같다.
    시험에 v2016.2로 했더니 위의 에러는 나오지 않게 되었다.

    Vivado의 버전 업시에 상기의 체크를 엄격하게 한 것일까.

    관련


  • xf_warpperspective (or warpaffine) do not synthesize

  • 쓰고 있는 것을 이해할 때까지는 학습이 진행되지 않았다.

    조합


  • Vivado HLS v2016.2
  • fillbox IP 만들기

  • Vivado v2019.1
  • bitstream 만들기

  • XSDK v2019.1
  • 앱 만들기


  • 위의 조합으로 상위 레벨 합성 박스의 구현을 확인할 수있었습니다.



    좋은 웹페이지 즐겨찾기