このセクションでは、Vitis コンパイラ コマンド v++ と、コンパイルおよび FPGA バイナリのリンクでこのコマンドにサポートされるさまざまなオプションについて説明します。
Vitis コンパイラはスタンドアロン コマンド ライン ユーティリティで、カーネル アクセラレータ関数をザイリンクス オブジェクト (.xo) ファイルにコンパイルし、それらをほかの .xo ファイルおよびサポートされるプラットフォームとリンクして、FPGA バイナリをビルドします。
set_property PACKAGE_PIN V8 [get_ports IIC_0_scl_io]; # JB,1
set_property PACKAGE_PIN W8 [get_ports IIC_0_sda_io]; # JB,2
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_scl_io];
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_sda_io];
set_property PACKAGE_PIN U7 [get_ports UART_0_rxd]; # JB,3
set_property PACKAGE_PIN V7 [get_ports UART_0_txd]; # JB,4
set_property IOSTANDARD LVCMOS33 [get_ports UART_0_rxd];
set_property IOSTANDARD LVCMOS33 [get_ports UART_0_txd];
set_property PACKAGE_PIN Y7 [get_ports GPIO_0_tri_i]; # JB,7
set_property IOSTANDARD LVCMOS33 [get_ports GPIO_0_tri_i];
// acc_gps_test.c
// 2020/10/26 by marsee
//
#include <stdio.h>
#include "xparameters.h"
#include "xuartlite_l.h"
int main(){
XUartLite_SetControlReg(XPAR_AXI_UARTLITE_0_BASEADDR, XUL_CR_FIFO_RX_RESET|XUL_CR_FIFO_TX_RESET); // Rst Rx FIFO, Rst TX FIFO
XUartLite_SetControlReg(XPAR_AXI_UARTLITE_0_BASEADDR, 0); // normal
while(1){
u8 status = XUartLite_GetStatusReg(XPAR_AXI_UARTLITE_0_BASEADDR);
if(status & XUL_SR_RX_FIFO_VALID_DATA){ // received data
u8 read_data = XUartLite_RecvByte(XPAR_AXI_UARTLITE_0_BASEADDR);
putchar((int)read_data);
}
}
}
$GPGGA,001530.799,,,,,0,0,,,M,,M,,*48
$GPGLL,,,,,001530.799,V,N*7A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,001530.799,V,,,,,0.00,0.00,050180,,,N*41
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPZDA,001530.799,05,01,3880,,*51
#pragma HLS INTERFACE s_axilite port=inm bundle=control
#pragma HLS INTERFACE s_axilite port=outm bundle=control
04:12:04 **** Build of configuration Hardware for project lap_filter_axis_dma ****
make -j4 incremental
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/v++ --target hw --compile -I"../src" --config common-config.cfg --config lap_filter_axis_dma-lap_filter_axis_dma-compile.cfg -o"lap_filter_axis_dma.build/lap_filter_axis_dma.xo" "../src/lap_filter_axis_dma.cpp"
Option Map File Used: '/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/data/vitis/vpp/optMap.xml'
****** v++ v2020.1 (64-bit)
**** SW Build 2902540 on Wed May 27 19:54:35 MDT 2020
** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
INFO: [v++ 60-1306] Additional information associated with this v++ compile can be found at:
Reports: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/lap_filter_axis_dma
Log files: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/logs/lap_filter_axis_dma
INFO: [v++ 60-1657] Initializing dispatch client.
Running Dispatch Server on port:35459
INFO: [v++ 60-1548] Creating build summary session with primary output /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/lap_filter_axis_dma.xo.compile_summary, at Fri Oct 23 04:12:17 2020
INFO: [v++ 60-1316] Initiating connection to rulecheck server, at Fri Oct 23 04:12:17 2020
INFO: [v++ 60-895] Target platform: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/ultra96v2-platform.xpfm
INFO: [v++ 60-1578] This platform contains Xilinx Shell Archive '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/hw/ultra96v2.xsa'
INFO: [v++ 60-585] Compiling for hardware target
INFO: [v++ 60-423] Target device: ultra96v2-platform
INFO: [v++ 60-242] Creating kernel: 'lap_filter_axis_dma'
===>The following messages were generated while performing high-level synthesis for kernel: lap_filter_axis_dma Log file: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/lap_filter_axis_dma/lap_filter_axis_dma/vitis_hls.log :
INFO: [v++ 204-61] Pipelining loop 'LOOP_DRY_LOOP_DRX'.
INFO: [v++ 200-1470] Pipelining result : Target II = 1, Final II = 1, Depth = 140.
INFO: [v++ 204-61] Pipelining loop 'Loop1'.
INFO: [v++ 200-1470] Pipelining result : Target II = 1, Final II = 1, Depth = 1.
INFO: [v++ 204-61] Pipelining loop 'Loop2_Loop3'.
INFO: [v++ 200-1470] Pipelining result : Target II = 1, Final II = 1, Depth = 10.
INFO: [v++ 204-61] Pipelining loop 'LOOP_DWY_LOOP_DWX'.
INFO: [v++ 200-1470] Pipelining result : Target II = 1, Final II = 1, Depth = 138.
INFO: [v++ 200-790] **** Loop Constraint Status: All loop constraints were satisfied.
INFO: [v++ 200-789] **** Estimated Fmax: 136.99 MHz
INFO: [v++ 60-594] Finished kernel compilation
INFO: [v++ 60-244] Generating system estimate report...
INFO: [v++ 60-1092] Generated system estimate report: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/lap_filter_axis_dma/system_estimate_lap_filter_axis_dma.xtxt
Add Instance lap_filter_axis lap_filter_axis_U0 146
Add Instance dma_read3 dma_read3_U0 156
Add Instance dma_write dma_write_U0 174
INFO: [v++ 60-586] Created lap_filter_axis_dma.build/lap_filter_axis_dma.xo
INFO: [v++ 60-2343] Use the vitis_analyzer tool to visualize and navigate the relevant reports. Run the following command.
vitis_analyzer /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/lap_filter_axis_dma.xo.compile_summary
INFO: [v++ 60-791] Total elapsed time: 0h 0m 59s
INFO: [v++ 60-1653] Closing dispatch client.
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/v++ --target hw --link --config common-config.cfg --config lap_filter_axis_dma-link.cfg -o"lap_filter_axis_dma.xclbin" lap_filter_axis_dma.build/lap_filter_axis_dma.xo
Option Map File Used: '/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/data/vitis/vpp/optMap.xml'
****** v++ v2020.1 (64-bit)
**** SW Build 2902540 on Wed May 27 19:54:35 MDT 2020
** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
INFO: [v++ 60-1306] Additional information associated with this v++ link can be found at:
Reports: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/link
Log files: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/logs/link
INFO: [v++ 60-1657] Initializing dispatch client.
Running Dispatch Server on port:46033
INFO: [v++ 60-1548] Creating build summary session with primary output /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin.link_summary, at Fri Oct 23 04:13:18 2020
INFO: [v++ 60-1316] Initiating connection to rulecheck server, at Fri Oct 23 04:13:18 2020
INFO: [v++ 60-895] Target platform: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/ultra96v2-platform.xpfm
INFO: [v++ 60-1578] This platform contains Xilinx Shell Archive '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/hw/ultra96v2.xsa'
INFO: [v++ 60-629] Linking for hardware target
INFO: [v++ 60-423] Target device: ultra96v2-platform
INFO: [v++ 60-1332] Run 'run_link' status: Not started
INFO: [v++ 60-1443] [04:13:19] Run run_link: Step system_link: Started
INFO: [v++ 60-1453] Command Line: system_link --xo /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/lap_filter_axis_dma.xo -keep --config /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/syslinkConfig.ini --xpfm /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/ultra96v2-platform.xpfm --target hw --output_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int --temp_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [SYSTEM_LINK 60-1316] Initiating connection to rulecheck server, at Fri Oct 23 04:13:21 2020
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/lap_filter_axis_dma.xo
INFO: [SYSTEM_LINK 82-53] Creating IP database /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-38] [04:13:21] build_xd_ip_db started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/build_xd_ip_db -ip_search 0 -sds-pf /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/ultra96v2.hpfm -clkid 0 -ip /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/iprepo/xilinx_com_hls_lap_filter_axis_dma_1_0,lap_filter_axis_dma -o /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-37] [04:13:29] build_xd_ip_db finished successfully
Time (s): cpu = 00:00:09 ; elapsed = 00:00:08 . Memory (MB): peak = 1369.680 ; gain = 0.000 ; free physical = 1432 ; free virtual = 33589
INFO: [SYSTEM_LINK 82-51] Create system connectivity graph
INFO: [SYSTEM_LINK 82-102] Applying explicit connections to the system connectivity graph: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [SYSTEM_LINK 82-38] [04:13:29] cfgen started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/cfgen -nk lap_filter_axis_dma:1 -dmclkid 0 -r /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [CFGEN 83-0] Kernel Specs:
INFO: [CFGEN 83-0] kernel: lap_filter_axis_dma, num: 1 {lap_filter_axis_dma_1}
INFO: [CFGEN 83-2226] Inferring mapping for argument lap_filter_axis_dma_1.inm to HP0
INFO: [CFGEN 83-2226] Inferring mapping for argument lap_filter_axis_dma_1.outm to HP0
INFO: [SYSTEM_LINK 82-37] [04:13:29] cfgen finished successfully
Time (s): cpu = 00:00:00.35 ; elapsed = 00:00:00.43 . Memory (MB): peak = 1369.680 ; gain = 0.000 ; free physical = 1430 ; free virtual = 33588
INFO: [SYSTEM_LINK 82-52] Create top-level block diagram
INFO: [SYSTEM_LINK 82-38] [04:13:29] cf2bd started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/cf2bd --linux --trace_buffer 1024 --input_file /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/cfgraph/cfgen_cfgraph.xml --ip_db /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml --cf_name dr --working_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.xsd --temp_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link --output_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int
INFO: [CF2BD 82-31] Launching cf2xd: cf2xd -linux -trace-buffer 1024 -i /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/cfgraph/cfgen_cfgraph.xml -r /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o dr.xml
INFO: [CF2BD 82-28] cf2xd finished successfully
INFO: [CF2BD 82-31] Launching cf_xsd: cf_xsd -disable-address-gen -dn dr -dp /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/sys_link/_sysl/.xsd
INFO: [CF2BD 82-28] cf_xsd finished successfully
INFO: [SYSTEM_LINK 82-37] [04:13:31] cf2bd finished successfully
Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1369.680 ; gain = 0.000 ; free physical = 1425 ; free virtual = 33588
INFO: [v++ 60-1441] [04:13:31] Run run_link: Step system_link: Completed
Time (s): cpu = 00:00:13 ; elapsed = 00:00:12 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 1450 ; free virtual = 33614
INFO: [v++ 60-1443] [04:13:31] Run run_link: Step cf2sw: Started
INFO: [v++ 60-1453] Command Line: cf2sw -sdsl /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/sdsl.dat -rtd /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/cf2sw.rtd -xclbin /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/xclbin_orig.xml -o /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/xclbin_orig.1.xml
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [v++ 60-1441] [04:13:32] Run run_link: Step cf2sw: Completed
Time (s): cpu = 00:00:00.64 ; elapsed = 00:00:00.72 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 1449 ; free virtual = 33613
INFO: [v++ 60-1443] [04:13:32] Run run_link: Step rtd2_system_diagram: Started
INFO: [v++ 60-1453] Command Line: rtd2SystemDiagram
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [v++ 60-1441] [04:13:33] Run run_link: Step rtd2_system_diagram: Completed
Time (s): cpu = 00:00:00 ; elapsed = 00:00:01 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 1229 ; free virtual = 33394
INFO: [v++ 60-1443] [04:13:33] Run run_link: Step vpl: Started
INFO: [v++ 60-1453] Command Line: vpl -t hw -f /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/ultra96v2-platform.xpfm --remote_ip_cache /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ip_cache -s --output_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int --log_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/logs/link --report_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/link --config /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/vplConfig.ini -k /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/kernel_info.dat --webtalk_flag Vitis --temp_dir /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link --no-info --iprepo /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/xo/ip_repo/xilinx_com_hls_lap_filter_axis_dma_1_0 --messageDb /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link/vpl.pb /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/dr.bd.tcl
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
****** vpl v2020.1 (64-bit)
**** SW Build 2902540 on Wed May 27 19:54:35 MDT 2020
** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
INFO: [VPL 60-839] Read in kernel information from file '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/kernel_info.dat'.
INFO: [VPL 60-423] Target device: ultra96v2-platform
INFO: [VPL 60-1032] Extracting hardware platform to /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/vivado/vpl/.local/hw_platform
[04:13:47] Run vpl: Step create_project: Started
Creating Vivado project.
[04:13:56] Run vpl: Step create_project: Completed
[04:13:56] Run vpl: Step create_bd: Started
[04:14:08] Run vpl: Step create_bd: Completed
[04:14:08] Run vpl: Step update_bd: Started
[04:14:08] Run vpl: Step update_bd: Completed
[04:14:08] Run vpl: Step generate_target: Started
[04:14:55] Run vpl: Step generate_target: Completed
[04:14:55] Run vpl: Step config_hw_runs: Started
[04:14:56] Run vpl: Step config_hw_runs: Completed
[04:14:56] Run vpl: Step synth: Started
[04:15:27] Block-level synthesis in progress, 0 of 2 jobs complete, 2 jobs running.
[04:15:58] Block-level synthesis in progress, 0 of 2 jobs complete, 2 jobs running.
[04:16:28] Block-level synthesis in progress, 0 of 2 jobs complete, 2 jobs running.
[04:16:58] Block-level synthesis in progress, 0 of 2 jobs complete, 2 jobs running.
[04:17:29] Block-level synthesis in progress, 1 of 2 jobs complete, 1 job running.
[04:17:59] Block-level synthesis in progress, 1 of 2 jobs complete, 1 job running.
[04:18:29] Block-level synthesis in progress, 1 of 2 jobs complete, 1 job running.
[04:18:59] Block-level synthesis in progress, 1 of 2 jobs complete, 1 job running.
[04:19:29] Top-level synthesis in progress.
[04:19:59] Top-level synthesis in progress.
[04:20:29] Top-level synthesis in progress.
[04:20:59] Top-level synthesis in progress.
[04:21:20] Run vpl: Step synth: Completed
[04:21:20] Run vpl: Step impl: Started
[04:23:51] Finished 2nd of 6 tasks (FPGA linking synthesized kernels to platform). Elapsed time: 00h 10m 15s
[04:23:51] Starting logic optimization..
[04:23:51] Phase 1 Retarget
[04:23:51] Phase 2 Constant propagation
[04:23:51] Phase 3 Sweep
[04:23:51] Phase 4 BUFG optimization
[04:23:51] Phase 5 Shift Register Optimization
[04:23:51] Phase 6 Post Processing Netlist
[04:24:21] Finished 3rd of 6 tasks (FPGA logic optimization). Elapsed time: 00h 00m 30s
[04:24:21] Starting logic placement..
[04:24:21] Phase 1 Placer Initialization
[04:24:21] Phase 1.1 Placer Initialization Netlist Sorting
[04:24:21] Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device
[04:24:51] Phase 1.3 Build Placer Netlist Model
[04:24:51] Phase 1.4 Constrain Clocks/Macros
[04:24:51] Phase 2 Global Placement
[04:24:51] Phase 2.1 Floorplanning
[04:24:51] Phase 2.1.1 Partition Driven Placement
[04:24:51] Phase 2.1.1.1 PBP: Partition Driven Placement
[04:25:21] Phase 2.1.1.2 PBP: Clock Region Placement
[04:25:21] Phase 2.1.1.3 PBP: Compute Congestion
[04:25:21] Phase 2.1.1.4 PBP: UpdateTiming
[04:25:21] Phase 2.1.1.5 PBP: Add part constraints
[04:25:21] Phase 2.2 Global Placement Core
[04:25:51] Phase 2.2.1 Physical Synthesis In Placer
[04:25:51] Phase 3 Detail Placement
[04:25:51] Phase 3.1 Commit Multi Column Macros
[04:25:51] Phase 3.2 Commit Most Macros & LUTRAMs
[04:26:21] Phase 3.3 Area Swap Optimization
[04:26:21] Phase 3.4 Pipeline Register Optimization
[04:26:21] Phase 3.5 Small Shape DP
[04:26:21] Phase 3.5.1 Small Shape Clustering
[04:26:21] Phase 3.5.2 Flow Legalize Slice Clusters
[04:26:21] Phase 3.5.3 Slice Area Swap
[04:26:21] Phase 3.6 Re-assign LUT pins
[04:26:21] Phase 3.7 Pipeline Register Optimization
[04:26:21] Phase 4 Post Placement Optimization and Clean-Up
[04:26:21] Phase 4.1 Post Commit Optimization
[04:26:21] Phase 4.1.1 Post Placement Optimization
[04:26:21] Phase 4.1.1.1 BUFG Insertion
[04:26:21] Phase 1 Physical Synthesis Initialization
[04:26:52] Phase 4.2 Post Placement Cleanup
[04:26:52] Phase 4.3 Placer Reporting
[04:26:52] Phase 4.4 Final Placement Cleanup
[04:26:52] Finished 4th of 6 tasks (FPGA logic placement). Elapsed time: 00h 02m 30s
[04:26:52] Starting logic routing..
[04:26:52] Phase 1 Build RT Design
[04:26:52] Phase 2 Router Initialization
[04:26:52] Phase 2.1 Create Timer
[04:26:52] Phase 2.2 Fix Topology Constraints
[04:26:52] Phase 2.3 Pre Route Cleanup
[04:26:52] Phase 2.4 Global Clock Net Routing
[04:27:22] Phase 2.5 Update Timing
[04:27:22] Phase 3 Initial Routing
[04:27:22] Phase 4 Rip-up And Reroute
[04:27:22] Phase 4.1 Global Iteration 0
[04:28:52] Phase 4.2 Additional Iteration for Hold
[04:28:52] Phase 5 Delay and Skew Optimization
[04:28:52] Phase 5.1 Delay CleanUp
[04:28:52] Phase 5.1.1 Update Timing
[04:28:52] Phase 5.2 Clock Skew Optimization
[04:28:52] Phase 6 Post Hold Fix
[04:28:52] Phase 6.1 Hold Fix Iter
[04:28:52] Phase 6.1.1 Update Timing
[04:28:52] Phase 7 Route finalize
[04:28:52] Phase 8 Verifying routed nets
[04:28:52] Phase 9 Depositing Routes
[04:28:52] Phase 10 Post Router Timing
[04:28:52] Finished 5th of 6 tasks (FPGA routing). Elapsed time: 00h 02m 00s
[04:28:52] Starting bitstream generation..
[04:29:22] Creating bitmap...
[04:29:41] Run vpl: Step impl: Completed
[04:29:41] Writing bitstream ./ultra96v2_design_wrapper.bit...
[04:29:42] Finished 6th of 6 tasks (FPGA bitstream generation). Elapsed time: 00h 00m 49s
[04:29:42] Run vpl: FINISHED. Run Status: impl Complete!
INFO: [v++ 60-1441] [04:29:42] Run run_link: Step vpl: Completed
Time (s): cpu = 00:00:07 ; elapsed = 00:16:09 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 4982 ; free virtual = 34217
INFO: [v++ 60-1443] [04:29:42] Run run_link: Step rtdgen: Started
INFO: [v++ 60-1453] Command Line: rtdgen
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [v++ 60-1453] Command Line: cf2sw -a /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/address_map.xml -sdsl /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/sdsl.dat -xclbin /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/xclbin_orig.xml -rtd /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.rtd -o /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.xml
INFO: [v++ 60-1652] Cf2sw returned exit code: 0
INFO: [v++ 60-2311] HPISystemDiagram::writeSystemDiagramAfterRunningVivado, rtdInputFilePath: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.rtd
INFO: [v++ 60-2312] HPISystemDiagram::writeSystemDiagramAfterRunningVivado, systemDiagramOutputFilePath: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/systemDiagramModelSlrBaseAddress.json
INFO: [v++ 60-1618] Launching
INFO: [v++ 60-1441] [04:29:43] Run run_link: Step rtdgen: Completed
Time (s): cpu = 00:00:00.63 ; elapsed = 00:00:00.97 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 4979 ; free virtual = 34216
INFO: [v++ 60-1443] [04:29:43] Run run_link: Step xclbinutil: Started
INFO: [v++ 60-1453] Command Line: xclbinutil --add-section BITSTREAM:RAW:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/system.bit --force --target hw --key-value SYS:dfx_enable:false --add-section :JSON:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.rtd --add-section CLOCK_FREQ_TOPOLOGY:JSON:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma_xml.rtd --add-section BUILD_METADATA:JSON:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma_build.rtd --add-section EMBEDDED_METADATA:RAW:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.xml --add-section SYSTEM_METADATA:RAW:/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/systemDiagramModelSlrBaseAddress.json --key-value SYS:PlatformVBNV:vendor_lib_ultra96v2_design_1_0 --output /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
XRT Build Version: 2.6.655 (2020.1)
Build Date: 2020-05-22 12:05:03
Hash ID: 2d6bfe4ce91051d4e5b499d38fc493586dd4859a
Creating a default 'in-memory' xclbin image.
Section: 'BITSTREAM'(0) was successfully added.
Size : 5568804 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/system.bit'
Section: 'MEM_TOPOLOGY'(6) was successfully added.
Format : JSON
File : 'mem_topology'
Section: 'IP_LAYOUT'(8) was successfully added.
Format : JSON
File : 'ip_layout'
Section: 'CONNECTIVITY'(7) was successfully added.
Format : JSON
File : 'connectivity'
WARNING: Skipping CLOCK_FREQ_TOPOLOGY section for count size is zero.
WARNING: Section 'CLOCK_FREQ_TOPOLOGY' content is empty. No data in the given JSON file.
Section: 'CLOCK_FREQ_TOPOLOGY'(11) was empty. No action taken.
Format : JSON
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma_xml.rtd'
Section: 'BUILD_METADATA'(14) was successfully added.
Size : 2214 bytes
Format : JSON
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma_build.rtd'
Section: 'EMBEDDED_METADATA'(2) was successfully added.
Size : 3657 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/lap_filter_axis_dma.xml'
Section: 'SYSTEM_METADATA'(22) was successfully added.
Size : 5364 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/int/systemDiagramModelSlrBaseAddress.json'
Successfully wrote (5585879 bytes) to the output file: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin
Leaving xclbinutil.
INFO: [v++ 60-1441] [04:29:43] Run run_link: Step xclbinutil: Completed
Time (s): cpu = 00:00:00.14 ; elapsed = 00:00:00.39 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 4971 ; free virtual = 34215
INFO: [v++ 60-1443] [04:29:43] Run run_link: Step xclbinutilinfo: Started
INFO: [v++ 60-1453] Command Line: xclbinutil --quiet --force --info /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin.info --input /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [v++ 60-1441] [04:29:44] Run run_link: Step xclbinutilinfo: Completed
Time (s): cpu = 00:00:00.18 ; elapsed = 00:00:00.51 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 4970 ; free virtual = 34214
INFO: [v++ 60-1443] [04:29:44] Run run_link: Step generate_sc_driver: Started
INFO: [v++ 60-1453] Command Line:
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/link/run_link
INFO: [v++ 60-1441] [04:29:44] Run run_link: Step generate_sc_driver: Completed
Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1340.320 ; gain = 0.000 ; free physical = 4970 ; free virtual = 34214
INFO: [v++ 60-244] Generating system estimate report...
INFO: [v++ 60-1092] Generated system estimate report: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/link/system_estimate_lap_filter_axis_dma.xtxt
INFO: [v++ 60-2397] Platform default or user specified output type sd_card detected but is not a supported output for v++ --link. Use the v++ --package option instead to create SD card output.
INFO: [v++ 60-586] Created lap_filter_axis_dma.xclbin
INFO: [v++ 60-1307] Run completed. Additional information can be found in:
Timing Report: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/reports/link/imp/ultra96v2_design_wrapper_timing_summary_routed.rpt
Vivado Log: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/logs/link/vivado.log
Steps Log File: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.build/logs/link/link.steps.log
INFO: [v++ 60-2343] Use the vitis_analyzer tool to visualize and navigate the relevant reports. Run the following command.
vitis_analyzer /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/lap_filter_axis_dma.xclbin.link_summary
INFO: [v++ 60-791] Total elapsed time: 0h 16m 35s
INFO: [v++ 60-1653] Closing dispatch client.
aarch64-linux-gnu-g++ -std=c++0x -DVITIS_PLATFORM=ultra96v2-platform -D__USE_XOPEN2K8 -I/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ -I/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/sw/ultra96v2-platform/linux_domain/sysroot/aarch64-xilinx-linux/usr/include/xrt/ -O2 -g -Wall -c -fmessage-length=0 --sysroot=/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/sw/ultra96v2-platform/linux_domain/sysroot/aarch64-xilinx-linux -o "src/lap_filter_axis_dma_host.o" "../src/lap_filter_axis_dma_host.cpp"
In file included from /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_common.h:641,
from /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int.h:54,
from ../src/lap_filter_axis_dma_host.cpp:25:
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In instantiation of 'void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 1; bool _AP_S = false]':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:1485:1: required from 'ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 1; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int.h:301:3: required from 'ap_uint<_AP_W>::ap_uint(int) [with int _AP_W = 1]'
../src/lap_filter_axis_dma_host.cpp:235:19: required from here
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2145 | : (uint64_t)VAL));
| ~~~~~~~~~~~~~~~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In instantiation of 'void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = true]':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:1485:1: required from 'ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 32; bool _AP_S = true]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int.h:160:3: required from 'ap_int<_AP_W>::ap_int(int) [with int _AP_W = 32]'
../src/lap_filter_axis_dma_host.cpp:236:27: required from here
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In instantiation of 'void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 4; bool _AP_S = false]':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:1631:5: required from 'ap_private<_AP_W, _AP_S, true>::ap_private() [with int _AP_W = 4; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_common.h:637:18: required from 'ssdm_int_sim<_AP_W, _AP_S>::ssdm_int_sim() [with int _AP_W = 4; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int_base.h:204:24: required from 'ap_int_base<_AP_W, _AP_S>::ap_int_base() [with int _AP_W = 4; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int.h:206:27: required from 'ap_uint<_AP_W>::ap_uint() [with int _AP_W = 4]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_axi_sdata.h:89:10: required from here
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In instantiation of 'void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = false]':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:1662:5: required from 'ap_private<_AP_W, _AP_S, true>::ap_private(const ap_private<_AP_W1, _AP_S1, _AP_OPT>&) [with int _AP_W1 = 1; bool _AP_S1 = false; bool _AP_OPT = true; int _AP_W = 32; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2599:34: required from 'bool ap_private<_AP_W, _AP_S, true>::operator==(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 32; bool _AP_S1 = true; int _AP_W = 1; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int_base.h:879:20: required from 'bool ap_int_base<_AP_W, _AP_S>::operator==(const ap_int_base<_AP_W2, _AP_S2>&) const [with int _AP_W2 = 32; bool _AP_S2 = true; int _AP_W = 1; bool _AP_S = false]'
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/ap_int_base.h:1598:1: required from 'bool operator==(const ap_int_base<_AP_W2, _AP_S2>&, int) [with int _AP_W = 1; bool _AP_S = false]'
../src/lap_filter_axis_dma_host.cpp:325:25: required from here
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In function 'int lap_filter_axis_soft(hls::stream<ap_axis<32, 1, 1, 1> >&, hls::stream<ap_axis<32, 1, 1, 1> >&, int32_t, int32_t)':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: 'pix.ap_private<32, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+4).ap_private<4, false, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+5).ap_private<4, false, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+6).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+7).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+8).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+9).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: 'lap.ap_private<32, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+4).ap_private<4, false, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+5).ap_private<4, false, true>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+6).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+7).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+8).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& lap)+9).ap_private<1, false>::VAL' is used uninitialized in this function [-Wuninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+4).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+5).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+6).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+7).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+8).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+9).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+4).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+5).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+6).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+7).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+8).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+9).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h: In function 'int main(int, char**)':
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: 'pix.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+4).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+5).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+6).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+7).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+8).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& pix)+9).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: 'vals_soft.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+4).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+5).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+6).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+7).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+8).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(& vals_soft)+9).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '<anonymous>.ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+4).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+5).ap_private<4, false, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+6).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+7).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+8).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2144:42: warning: '*((void*)(&<anonymous>)+9).ap_private<1, false>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2144 | : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
| ^~~
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:2143:27: warning: '<anonymous>.ap_private<32, true>::VAL' may be used uninitialized in this function [-Wmaybe-uninitialized]
2143 | ? ((((int64_t)VAL) << (excess_bits)) >> (excess_bits))
| ^~~
aarch64-linux-gnu-g++ -o "lap_filter_axis_dma" src/lap_filter_axis_dma_host.o -lxilinxopencl -lpthread -lrt -ldl -lcrypt -lstdc++ -L/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/sw/ultra96v2-platform/linux_domain/sysroot/aarch64-xilinx-linux/usr/lib/ --sysroot=/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/sw/ultra96v2-platform/linux_domain/sysroot/aarch64-xilinx-linux
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/bin/v++ --package --config package.cfg lap_filter_axis_dma.xclbin
Option Map File Used: '/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2020.1/data/vitis/vpp/optMap.xml'
****** v++ v2020.1 (64-bit)
**** SW Build 2902540 on Wed May 27 19:54:35 MDT 2020
** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
INFO: [v++ 60-1306] Additional information associated with this v++ package can be found at:
Reports: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/package.build/reports/package
Log files: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/package.build/logs/package
INFO: [v++ 60-1657] Initializing dispatch client.
Running Dispatch Server on port:34929
INFO: [v++ 60-1548] Creating build summary session with primary output ./v++.package_summary, at Fri Oct 23 04:30:01 2020
INFO: [v++ 60-1316] Initiating connection to rulecheck server, at Fri Oct 23 04:30:01 2020
INFO: [v++ 60-895] Target platform: /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/ultra96v2-platform.xpfm
INFO: [v++ 60-1578] This platform contains Xilinx Shell Archive '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/ultra96v2-platform/export/ultra96v2-platform/hw/ultra96v2.xsa'
INFO: [v++ 60-2256] Packaging for hardware
Section: 'BITSTREAM'(0) was successfully written.
Format: RAW
File : '/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/package.build/package/system.bit'
INFO: [v++ 82-1025] Generating bootimage
****** Xilinx Bootgen v2020.1
**** Build date : May 27 2020-20:33:36
** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
[INFO] : Bootimage generated successfully
INFO: [v++ 82-1076] Deleting existing - /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/pfm/lap_filter_axis_dma/Hardware/package/sd_card/image.ub
INFO: [v++ 82-1011] Creating sd_card directory
FATSIZE:1124
fat_start:63
fat_end:2096639
fat_sector:2096577
ext4_start:0
ext4_sector:966900
EXT4SIZE:2048
TOTALSIZE:3172
dummy_ext4_sector:3227404
sd_card_fat_start:2048
sd_card_ext4_start:2195456
dummy_ext4_start:3162356
2096577+0 レコード入力
2096577+0 レコード出力
1073447424 bytes (1.1 GB, 1.0 GiB) copied, 5.15768 s, 208 MB/s
966900+0 レコード入力
966900+0 レコード出力
495052800 bytes (495 MB, 472 MiB) copied, 10.8381 s, 45.7 MB/s
3227404+0 レコード入力
3227404+0 レコード出力
1652430848 bytes (1.7 GB, 1.5 GiB) copied, 7.62532 s, 217 MB/s
INFO: [v++ 60-2343] Use the vitis_analyzer tool to visualize and navigate the relevant reports. Run the following command.
vitis_analyzer ./v++.package_summary
INFO: [v++ 60-791] Total elapsed time: 0h 0m 51s
INFO: [v++ 60-1653] Closing dispatch client.
04:30:43 Build Finished (took 18m:39s.321ms)
Xilinx Zynq MP First Stage Boot Loader
Release 2020.1 Oct 14 2020 - 19:51:23
NOTICE: ATF running on XCZU3EG/silicon v4/RTL5.1 at 0xfffea000
NOTICE: BL31: v2.2(release):v1.1-5588-g5918e656e
NOTICE: BL31: Built : 19:50:38, Oct 14 2020
U-Boot 2020.01 (Oct 14 2020 - 19:49:09 +0000)
Model: Avnet Ultra96 Rev1
Board: Xilinx ZynqMP
DRAM: 2 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: zu3eg
NAND: 0 MiB
MMC: mmc@ff160000: 0, mmc@ff170000: 1
In: serial@ff010000
Out: serial@ff010000
Err: serial@ff010000
Bootmode: SD_MODE
Reset reason: EXTERNAL
Net: No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2007 bytes read in 15 ms (129.9 KiB/s)
## Executing script at 20000000
8134460 bytes read in 598 ms (13 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x100000e8
Data Size: 8088904 Bytes = 7.7 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha256
Hash value: 00749594bd2f9da8a22ac2efaa56d09c0ec4a3ba16b7f6748394347fa50fecf8
Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'fdt@system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x107b6f40
Data Size: 43666 Bytes = 42.6 KiB
Architecture: AArch64
Hash algo: sha256
Hash value: 9efc87124a9ea2700523c72cedb14216c813da2dc92f3781ddf1c70d1c1c3075
Verifying Hash Integrity ... sha256+ OK
Booting using the fdt blob at 0x107b6f40
Uncompressing Kernel Image
Loading Device Tree to 000000000fff2000, end 000000000ffffa91 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.1 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Wed Oct 14 19:47:16 UTC 2020
[ 0.000000] Machine model: Avnet Ultra96 Rev1
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 1024 MiB at 0x000000003fc00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 21 pages/cpu s48664 r8192 d29160 u86016
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 515844
[ 0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait
[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 990112K/2096128K available (11580K kernel code, 668K rwdata, 3608K rodata, 704K init, 322K bss, 57440K reserved, 1048576K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@80000000: num_irq=32, sw_irq=0, edge=0x0
[ 0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x42c with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[ 0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[ 0.008485] Console: colour dummy device 80x25
[ 0.012491] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[ 0.022839] pid_max: default: 32768 minimum: 301
[ 0.027617] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.034789] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.044054] ASID allocator initialised with 32768 entries
[ 0.047999] rcu: Hierarchical SRCU implementation.
[ 0.052920] EFI services will not be available.
[ 0.057363] smp: Bringing up secondary CPUs ...
[ 0.062114] Detected VIPT I-cache on CPU1
[ 0.062161] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.062581] Detected VIPT I-cache on CPU2
[ 0.062604] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.062979] Detected VIPT I-cache on CPU3
[ 0.062998] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.063048] smp: Brought up 1 node, 4 CPUs
[ 0.097141] SMP: Total of 4 processors activated.
[ 0.101813] CPU features: detected: 32-bit EL0 Support
[ 0.106917] CPU features: detected: CRC32 instructions
[ 0.112058] CPU: All CPU(s) started at EL2
[ 0.116098] alternatives: patching kernel code
[ 0.122332] devtmpfs: initialized
[ 0.129187] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.133486] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.178896] xor: measuring software checksum speed
[ 0.216782] 8regs : 2375.000 MB/sec
[ 0.256808] 32regs : 2725.000 MB/sec
[ 0.296840] arm64_neon: 2365.000 MB/sec
[ 0.296880] xor: using function: 32regs (2725.000 MB/sec)
[ 0.300757] pinctrl core: initialized pinctrl subsystem
[ 0.307034] NET: Registered protocol family 16
[ 0.312019] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.316427] audit: initializing netlink subsys (disabled)
[ 0.321856] audit: type=2000 audit(0.264:1): state=initialized audit_enabled=0 res=1
[ 0.322323] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.350719] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.351776] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.358445] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.365101] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 1.446478] DRBG: Continuing without Jitter RNG
[ 1.522771] raid6: neonx8 gen() 1539 MB/s
[ 1.590826] raid6: neonx8 xor() 1461 MB/s
[ 1.658892] raid6: neonx4 gen() 1477 MB/s
[ 1.726912] raid6: neonx4 xor() 1419 MB/s
[ 1.795011] raid6: neonx2 gen() 1124 MB/s
[ 1.863029] raid6: neonx2 xor() 1173 MB/s
[ 1.931127] raid6: neonx1 gen() 728 MB/s
[ 1.999116] raid6: neonx1 xor() 880 MB/s
[ 2.067176] raid6: int64x8 gen() 1162 MB/s
[ 2.135234] raid6: int64x8 xor() 760 MB/s
[ 2.203299] raid6: int64x4 gen() 977 MB/s
[ 2.271306] raid6: int64x4 xor() 733 MB/s
[ 2.339406] raid6: int64x2 gen() 678 MB/s
[ 2.407428] raid6: int64x2 xor() 591 MB/s
[ 2.475478] raid6: int64x1 gen() 449 MB/s
[ 2.543500] raid6: int64x1 xor() 451 MB/s
[ 2.543540] raid6: using algorithm neonx8 gen() 1539 MB/s
[ 2.547496] raid6: .... xor() 1461 MB/s, rmw enabled
[ 2.552426] raid6: using neon recovery algorithm
[ 2.557855] iommu: Default domain type: Translated
[ 2.562146] SCSI subsystem initialized
[ 2.565759] usbcore: registered new interface driver usbfs
[ 2.571057] usbcore: registered new interface driver hub
[ 2.576330] usbcore: registered new device driver usb
[ 2.581371] mc: Linux media interface: v0.10
[ 2.585576] videodev: Linux video capture interface: v2.00
[ 2.591023] pps_core: LinuxPPS API ver. 1 registered
[ 2.595935] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 2.605030] PTP clock support registered
[ 2.608923] EDAC MC: Ver: 3.0.0
[ 2.612557] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[ 2.620724] FPGA manager framework
[ 2.624022] Advanced Linux Sound Architecture Driver Initialized.
[ 2.630315] Bluetooth: Core ver 2.22
[ 2.633492] NET: Registered protocol family 31
[ 2.637888] Bluetooth: HCI device and connection manager initialized
[ 2.644207] Bluetooth: HCI socket layer initialized
[ 2.649049] Bluetooth: L2CAP socket layer initialized
[ 2.654072] Bluetooth: SCO socket layer initialized
[ 2.659345] clocksource: Switched to clocksource arch_sys_counter
[ 2.665102] VFS: Disk quotas dquot_6.6.0
[ 2.668929] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 2.680241] NET: Registered protocol family 2
[ 2.680768] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 2.688520] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 2.696470] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[ 2.704084] TCP: Hash tables configured (established 16384 bind 16384)
[ 2.710247] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 2.716815] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 2.724015] NET: Registered protocol family 1
[ 2.728580] RPC: Registered named UNIX socket transport module.
[ 2.734082] RPC: Registered udp transport module.
[ 2.738748] RPC: Registered tcp transport module.
[ 2.743421] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.750125] PCI: CLS 0 bytes, default 64
[ 2.754314] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[ 2.761006] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 2.769510] Initialise system trusted keyrings
[ 2.773022] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[ 2.780231] NFS: Registering the id_resolver key type
[ 2.784353] Key type id_resolver registered
[ 2.788487] Key type id_legacy registered
[ 2.792471] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 2.799147] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 2.818745] NET: Registered protocol family 38
[ 2.818791] Key type asymmetric registered
[ 2.821619] Asymmetric key parser 'x509' registered
[ 2.826490] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 2.833815] io scheduler mq-deadline registered
[ 2.838310] io scheduler kyber registered
[ 2.871494] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 2.876041] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 2.883579] brd: module loaded
[ 2.889920] loop: module loaded
[ 2.890873] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 2.895225] libphy: Fixed MDIO Bus: probed
[ 2.899002] tun: Universal TUN/TAP device driver, 1.6
[ 2.903077] CAN device driver interface
[ 2.907547] usbcore: registered new interface driver asix
[ 2.912150] usbcore: registered new interface driver ax88179_178a
[ 2.918163] usbcore: registered new interface driver cdc_ether
[ 2.923957] usbcore: registered new interface driver net1080
[ 2.929583] usbcore: registered new interface driver cdc_subset
[ 2.935463] usbcore: registered new interface driver zaurus
[ 2.941012] usbcore: registered new interface driver cdc_ncm
[ 2.947468] usbcore: registered new interface driver uas
[ 2.951911] usbcore: registered new interface driver usb-storage
[ 2.958571] rtc_zynqmp ffa60000.rtc: registered as rtc0
[ 2.963102] i2c /dev entries driver
[ 2.968070] usbcore: registered new interface driver uvcvideo
[ 2.972205] USB Video Class driver (1.1.1)
[ 2.976919] Bluetooth: HCI UART driver ver 2.3
[ 2.980688] Bluetooth: HCI UART protocol H4 registered
[ 2.985786] Bluetooth: HCI UART protocol BCSP registered
[ 2.991078] Bluetooth: HCI UART protocol LL registered
[ 2.996163] Bluetooth: HCI UART protocol ATH3K registered
[ 3.001541] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 3.007792] Bluetooth: HCI UART protocol Intel registered
[ 3.013131] Bluetooth: HCI UART protocol QCA registered
[ 3.018335] usbcore: registered new interface driver bcm203x
[ 3.023956] usbcore: registered new interface driver bpa10x
[ 3.029493] usbcore: registered new interface driver bfusb
[ 3.034942] usbcore: registered new interface driver btusb
[ 3.040405] usbcore: registered new interface driver ath3k
[ 3.045945] EDAC MC: ECC not enabled
[ 3.049499] EDAC DEVICE0: Giving out device to module edac controller cache_err: DEV edac (POLLED)
[ 3.058446] EDAC DEVICE1: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[ 3.070676] sdhci: Secure Digital Host Controller Interface driver
[ 3.076521] sdhci: Copyright(c) Pierre Ossman
[ 3.080847] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.086924] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.092489] zynqmp_firmware_probe Platform Management API v1.1
[ 3.098237] zynqmp_firmware_probe Trustzone version v1.0
[ 3.107657] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: zynqmp pinctrl initialized
[ 3.135730] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[ 3.136080] zynqmp_aes zynqmp_aes: AES Successfully Registered
[ 3.136080]
[ 3.143238] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[ 3.149453] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[ 3.155022] usbcore: registered new interface driver usbhid
[ 3.160231] usbhid: USB HID core driver
[ 3.166649] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[ 3.170785] usbcore: registered new interface driver snd-usb-audio
[ 3.177537] pktgen: Packet Generator for packet performance testing. Version: 2.75
[ 3.184924] Initializing XFRM netlink socket
[ 3.188458] NET: Registered protocol family 10
[ 3.193317] Segment Routing with IPv6
[ 3.196539] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.202708] NET: Registered protocol family 17
[ 3.206693] NET: Registered protocol family 15
[ 3.211109] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 3.223979] can: controller area network core (rev 20170425 abi 9)
[ 3.230163] NET: Registered protocol family 29
[ 3.234533] can: raw protocol (rev 20170425)
[ 3.238772] can: broadcast manager protocol (rev 20170425 t)
[ 3.244396] can: netlink gateway (rev 20190810) max_hops=1
[ 3.249941] Bluetooth: RFCOMM TTY layer initialized
[ 3.254696] Bluetooth: RFCOMM socket layer initialized
[ 3.259804] Bluetooth: RFCOMM ver 1.11
[ 3.263516] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.268784] Bluetooth: BNEP filters: protocol multicast
[ 3.273978] Bluetooth: BNEP socket layer initialized
[ 3.278905] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 3.284789] Bluetooth: HIDP socket layer initialized
[ 3.289882] 9pnet: Installing 9P2000 support
[ 3.293991] Key type dns_resolver registered
[ 3.298566] registered taskstats version 1
[ 3.302266] Loading compiled-in X.509 certificates
[ 3.307581] Btrfs loaded, crc32c=crc32c-generic
[ 3.323838] ff000000.serial: ttyPS1 at MMIO 0xff000000 (irq = 41, base_baud = 6249999) is a xuartps
[ 3.327276] printk: console [ttyPS0] enabled
[ 3.331592] printk: bootconsole [cdns0] disabled
INIT: version 2.88 booting
Starting udev
Wed Oct 14 20:02:16 UTC 2020
chown: cannot access '/var/log/wtmp': No such file or directory
Failed to set owner -root- for -/var/log/wtmp-.
chmod: cannot access '/var/log/wtmp': No such file or directory
Failed to set mode -0664- for -/var/log/wtmp-.
Configuring packages on first boot....
(This may take several minutes. Please do not power off the machine.)
Running postinst /etc/rpm-postinsts/100-xrt...
Running postinst /etc/rpm-postinsts/101-sysvinit-inittab...
Running postinst /etc/rpm-postinsts/102-libmali-xlnx...
Running postinst /etc/rpm-postinsts/103-zocl...
update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)
Removing any system startup links for run-postinsts ...
/etc/rcS.d/S99run-postinsts
INIT: Entering runlevel: 5
Configuring network interfaces... udhcpc: started, v1.31.0
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending select for 192.168.3.23
udhcpc: lease of 192.168.3.23 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 192.168.3.1
done.
Starting system message bus: dbus.
Starting haveged: haveged: listening socket at 3
haveged: haveged starting up
Starting Dropbear SSH server: Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaFin4E0IbQr7jycOrhll28Pm696wrRqYu5dB/+u3h8lkuBL2/YDksrh2jKw4yXFvr/f7hx/CuT5Aiqk30E+Kd1RwDiMMB8qd5yK5CygKGhBOT4Bc3mAl0a54rFT9bN25b/rampGuuh3w2nogHjpqr4J+hiTTNcNEle0sIeB5vzf1WMHMUglqSc2polQ487B+JVg6MjrnxTNvP03TUlhiOpxwvWpahiFT74Mc3ettGCKJuyKwawCbQKzlR+bLmFU4IJvriFzPitgcExLBGHb2l4jC87KVcvXr+3rr7eSyIzet+zr0hmgtKm8XoKtw1F4VULqeHl9BBKITbh29V8UNZ root@ultra96v2-petalinux
Fingerprint: sha1!! 79:8f:f9:fe:13:19:93:f8:0e:1c:00:a6:4b:43:36:73:48:91:5c:02
dropbear.
haveged: haveged: ver: 1.9.5; arch: generic; vend: ; build: (gcc 9.2.0 CTV); collect: 128K
haveged: haveged: cpu: (VC); data: 16K (D); inst: 16K (D); idx: 11/40; sz: 15456/64452
haveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B): last entropy estimate 7.9991
haveged: haveged: fills: 0, generated: 0
Starting internet superserver: inetd.
Starting syslogd/klogd: done
Starting tcf-agent: OK
PetaLinux 2020.1 ultra96v2-petalinux ttyPS0
ultra96v2-petalinux login:
set_property PACKAGE_PIN V8 [get_ports IIC_0_scl_io]
set_property PACKAGE_PIN W8 [get_ports IIC_0_sda_io]
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_scl_io]
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_sda_io]
// acc_sensor_test.c
// 2020/10/12 by marsee
//
#include <stdio.h>
#include <stdint.h>
#include "xparameters.h"
#define TX_FIFO_EMPTY 0x80
#define RX_FIFO_EMPTY 0x40
#define BB 0x04
void acc_sensor_init(volatile uint32_t *axi_iic_ad){
axi_iic_ad[72] = 0x0F; // RX_FIFI_PIRQ
axi_iic_ad[64] = 0x2; // Control Register (100h) reset tx fifo
axi_iic_ad[64] = 0x1; // Control Register (100h) enable i2c
}
void idle_check(volatile uint32_t *axi_iic_ad){
int32_t status_reg;
int32_t check_bit;
do{
status_reg = axi_iic_ad[65]; // Status Register (104h))
check_bit = status_reg & (TX_FIFO_EMPTY | RX_FIFO_EMPTY | BB);
}while(check_bit != (TX_FIFO_EMPTY | RX_FIFO_EMPTY)) ;
}
void acc_sensor_write(volatile uint32_t *axi_iic_ad, uint32_t device_addr, uint32_t write_addr, uint32_t write_data){
idle_check(axi_iic_ad);
axi_iic_ad[66] = 0x100 | (device_addr & 0xfe); // Slave IIC Write Address, address is 0x108, i2c_tx_fifo
axi_iic_ad[66] = write_addr & 0xff; // address
axi_iic_ad[66] = 0x200 | (write_data & 0xff); // data
}
uint32_t acc_sensor_read(volatile uint32_t *axi_iic_ad, uint32_t device_addr, uint32_t read_addr){
int32_t status_reg, rx_fifo_empty;
idle_check(axi_iic_ad);
axi_iic_ad[66] = 0x100 | (device_addr & 0xfe); // Slave IIC Write Address, address is 0x108, i2c_tx_fifo
axi_iic_ad[66] = read_addr & 0xff; // address byte
axi_iic_ad[66] = 0x100 | device_addr & 0xff; // Slave IIC Read Address, address is 0x108, i2c_tx_fifo, with repeat start
axi_iic_ad[66] = 0x201; // 1 byte data, NACK condition
do{
status_reg = axi_iic_ad[65];
rx_fifo_empty = status_reg & RX_FIFO_EMPTY;
}while(rx_fifo_empty); // Wait untill not RX_FIFO_EMPTY(Status Register (104h))
int32_t read_data = axi_iic_ad[67] & 0xff; // Read Receive FIFO (10Ch)
return(read_data);
}
int main(){
volatile uint32_t *axi_iic_ad;
int32_t dataX, dataY, dataZ;
int32_t read_data, data_ready;
axi_iic_ad = XPAR_AXI_IIC_0_BASEADDR;
acc_sensor_init(axi_iic_ad);
acc_sensor_write(axi_iic_ad, 0x3a, 0x2d, 0x00); // stanby clear
int32_t temp = acc_sensor_read(axi_iic_ad, 0x3b, 0x00);
do{
read_data = acc_sensor_read(axi_iic_ad, 0x3b, 0x04);
data_ready = read_data & 0x01;
}while(data_ready != 0x01);
dataX = acc_sensor_read(axi_iic_ad, 0x3b, 0x08) << 12; // XDATA3
dataX |= (acc_sensor_read(axi_iic_ad, 0x3b, 0x09) << 4); // XDATA2
dataX |= ((acc_sensor_read(axi_iic_ad, 0x3b, 0x0a) & 0xf0) >> 4); // XDATA1
if(dataX & 0x80000) // Is the 19th bit 1?
dataX |= 0xfff00000; // sign extension
dataY = acc_sensor_read(axi_iic_ad, 0x3b, 0x0b) << 12; // YDATA3
dataY |= (acc_sensor_read(axi_iic_ad, 0x3b, 0x0c) << 4); // YDATA2
dataY |= ((acc_sensor_read(axi_iic_ad, 0x3b, 0x0d) & 0xf0) >> 4); // YDATA1
if(dataY & 0x80000) // Is the 19th bit 1?
dataY |= 0xfff00000; // sign extension
dataZ = acc_sensor_read(axi_iic_ad, 0x3b, 0x0e) << 12; // ZDATA3
dataZ |= (acc_sensor_read(axi_iic_ad, 0x3b, 0x0f) << 4); // ZDATA2
dataZ |= ((acc_sensor_read(axi_iic_ad, 0x3b, 0x10) & 0xf0) >> 4); // ZDATA1
if(dataZ & 0x80000) // Is the 19th bit 1?
dataZ |= 0xfff00000; // sign extension
printf("datax = %x, dataY = %x, dataZ = %x\n", (int)dataX, (int)dataY, (int)dataZ);
return(0);
}
/include/ "system-conf.dtsi"
/ {
};
&amba {
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
interrupt-parent = <&axi_intc_0>;
interrupts = <0 4>, <1 4>, <2 4>, <3 4>,
<4 4>, <5 4>, <6 4>, <7 4>,
<8 4>, <9 4>, <10 4>, <11 4>,
<12 4>, <13 4>, <14 4>, <15 4>,
<16 4>, <17 4>, <18 4>, <19 4>,
<20 4>, <21 4>, <22 4>, <23 4>,
<24 4>, <25 4>, <26 4>, <27 4>,
<28 4>, <29 4>, <30 4>, <31 4>;
};
};
&axi_intc_0 {
xlnx,kind-of-intr = <0x0>;
xlnx,num-intr-inputs = <0x20>;
interrupt-parent = <&gic>;
interrupts = <0 89 4>;
};
CONFIG_xrt
CONFIG_xrt-dev
CONFIG_zocl
CONFIG_opencl-clhpp-dev
CONFIG_opencl-headers-dev
CONFIG_packagegroup-petalinux-opencv
image.ub
zynqmp_fsbl.elf
pmufw.elf
bl31.elf
u-boot.elf
rootfs.cpio
/* linux */
the_ROM_image:
{
[bootloader] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/zynqmp_fsbl.elf
[pmufw_image] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/pmufw.elf
[destination_device=pl] <bitstream>
[destination_cpu=a53-0, exception_level=el-3, trustzone] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/bl31.elf
[destination_cpu=a53-0, exception_level=el-2] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/u-boot.elf
}
// acc_sensor_if.cpp
// 2020/10/02 by marsee
//
#include <stdint.h>
#include <ap_int.h>
int acc_sensor_if(int32_t *time_zynq, int32_t time_mb, int32_t *dataX_zynq, int32_t dataX_mb,
int32_t *dataY_zynq, int32_t dataY_mb, int32_t *dataZ_zynq, int32_t dataZ_mb,
int32_t wr, int32_t rd){
#pragma HLS INTERFACE s_axilite bundle=mb port=time_mb
#pragma HLS INTERFACE s_axilite bundle=zynq port=time_zynq
#pragma HLS INTERFACE s_axilite port=rd bundle=zynq
#pragma HLS INTERFACE s_axilite port=wr bundle=mb
#pragma HLS INTERFACE s_axilite port=dataX_zynq bundle=zynq
#pragma HLS INTERFACE s_axilite port=dataY_zynq bundle=zynq
#pragma HLS INTERFACE s_axilite port=dataZ_zynq bundle=zynq
#pragma HLS INTERFACE s_axilite port=dataX_mb bundle=mb
#pragma HLS INTERFACE s_axilite port=dataY_mb bundle=mb
#pragma HLS INTERFACE s_axilite port=dataZ_mb bundle=mb
#pragma HLS INTERFACE s_axilite port=return
static ap_uint<4> wp=0, rp=0;
static int32_t time[16], x[16], y[16], z[16];
if(wr!=0 && rp!=wp+1){ // not full
time[wp] = time_mb;
x[wp] = dataX_mb;
y[wp] = dataY_mb;
z[wp] = dataZ_mb;
wp++;
}
if(rd!=0 && rp!=wp){ // not empty
*time_zynq = time[rp];
*dataX_zynq = x[rp];
*dataY_zynq = y[rp];
*dataZ_zynq = z[rp];
rp++;
}
return(0);
}
// acc_sensor_if_tb.cpp
// 2020/10/02 by marsee
//
#include <iostream>
#include <stdint.h>
int acc_sensor_if(int32_t *time_zynq, int32_t time_mb, int32_t *dataX_zynq, int32_t dataX_mb,
int32_t *dataY_zynq, int32_t dataY_mb, int32_t *dataZ_zynq, int32_t dataZ_mb,
int32_t wr, int32_t rd);
int main(){
int32_t time_zynq, time_mb;
int32_t dataX_zynq, dataX_mb;
int32_t dataY_zynq, dataY_mb;
int32_t dataZ_zynq, dataZ_mb;
int32_t wr, rd;
for(dataX_mb=0; dataX_mb<10; dataX_mb++){
time_mb = dataX_mb + 3;
dataY_mb = dataX_mb + 1;
dataZ_mb = dataX_mb + 2;
wr = 1; rd = 0;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
//std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
for(int i=0; i<10; i++){
wr = 0; rd = 1;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
for(dataX_mb=10; dataX_mb<20; dataX_mb++){
time_mb = dataX_mb + 3;
dataY_mb = dataX_mb + 1;
dataZ_mb = dataX_mb + 2;
wr = 1; rd = 0;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
//std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
for(int i=0; i<10; i++){
wr = 0; rd = 1;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
return(0);
}
INFO: [SIM 2] *************** CSIM start ***************
INFO: [SIM 4] CSIM will launch GCC as the compiler.
Compiling ../../../acc_sensor_if_tb.cpp in debug mode
Generating csim.exe
time_zynq = 3 dataX_zynq = 0 dataY_zynq = 1 dataZ_zynq = 2
time_zynq = 4 dataX_zynq = 1 dataY_zynq = 2 dataZ_zynq = 3
time_zynq = 5 dataX_zynq = 2 dataY_zynq = 3 dataZ_zynq = 4
time_zynq = 6 dataX_zynq = 3 dataY_zynq = 4 dataZ_zynq = 5
time_zynq = 7 dataX_zynq = 4 dataY_zynq = 5 dataZ_zynq = 6
time_zynq = 8 dataX_zynq = 5 dataY_zynq = 6 dataZ_zynq = 7
time_zynq = 9 dataX_zynq = 6 dataY_zynq = 7 dataZ_zynq = 8
time_zynq = 10 dataX_zynq = 7 dataY_zynq = 8 dataZ_zynq = 9
time_zynq = 11 dataX_zynq = 8 dataY_zynq = 9 dataZ_zynq = 10
time_zynq = 12 dataX_zynq = 9 dataY_zynq = 10 dataZ_zynq = 11
time_zynq = 13 dataX_zynq = 10 dataY_zynq = 11 dataZ_zynq = 12
time_zynq = 14 dataX_zynq = 11 dataY_zynq = 12 dataZ_zynq = 13
time_zynq = 15 dataX_zynq = 12 dataY_zynq = 13 dataZ_zynq = 14
time_zynq = 16 dataX_zynq = 13 dataY_zynq = 14 dataZ_zynq = 15
time_zynq = 17 dataX_zynq = 14 dataY_zynq = 15 dataZ_zynq = 16
time_zynq = 18 dataX_zynq = 15 dataY_zynq = 16 dataZ_zynq = 17
time_zynq = 19 dataX_zynq = 16 dataY_zynq = 17 dataZ_zynq = 18
time_zynq = 20 dataX_zynq = 17 dataY_zynq = 18 dataZ_zynq = 19
time_zynq = 21 dataX_zynq = 18 dataY_zynq = 19 dataZ_zynq = 20
time_zynq = 22 dataX_zynq = 19 dataY_zynq = 20 dataZ_zynq = 21
INFO: [SIM 1] CSim done with 0 errors.
INFO: [SIM 3] *************** CSIM finish ***************
// acc_sensor_if_tb.cpp
// 2020/10/02 by marsee
//
#include <iostream>
#include <stdint.h>
int acc_sensor_if(int32_t *time_zynq, int32_t time_mb, int32_t *dataX_zynq, int32_t dataX_mb,
int32_t *dataY_zynq, int32_t dataY_mb, int32_t *dataZ_zynq, int32_t dataZ_mb,
int32_t wr, int32_t rd);
int main(){
int32_t time_zynq, time_mb;
int32_t dataX_zynq, dataX_mb;
int32_t dataY_zynq, dataY_mb;
int32_t dataZ_zynq, dataZ_mb;
int32_t wr, rd;
for(dataX_mb=0; dataX_mb<10; dataX_mb++){
time_mb = dataX_mb + 3;
dataY_mb = dataX_mb + 1;
dataZ_mb = dataX_mb + 2;
wr = 1; rd = 1;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
for(dataX_mb=10; dataX_mb<20; dataX_mb++){
time_mb = dataX_mb + 3;
dataY_mb = dataX_mb + 1;
dataZ_mb = dataX_mb + 2;
wr = 1; rd = 1;
acc_sensor_if(&time_zynq, time_mb, &dataX_zynq, dataX_mb, & dataY_zynq, dataY_mb, &dataZ_zynq, dataZ_mb, wr, rd);
std::cout << "time_zynq = " << time_zynq << " dataX_zynq = " << dataX_zynq << " dataY_zynq = " << dataY_zynq << " dataZ_zynq = " << dataZ_zynq << std::endl;
}
return(0);
}
## run all
////////////////////////////////////////////////////////////////////////////////////
// Inter-Transaction Progress: Completed Transaction / Total Transaction
// Intra-Transaction Progress: Measured Latency / Latency Estimation * 100%
//
// RTL Simulation : "Inter-Transaction Progress" ["Intra-Transaction Progress"] @ "Simulation Time"
////////////////////////////////////////////////////////////////////////////////////
// RTL Simulation : 0 / 20 [0.00%] @ "1125000"
// RTL Simulation : 1 / 20 [950.00%] @ "1975000"
// RTL Simulation : 2 / 20 [975.00%] @ "2855000"
// RTL Simulation : 3 / 20 [950.00%] @ "3715000"
// RTL Simulation : 4 / 20 [950.00%] @ "4585000"
// RTL Simulation : 5 / 20 [950.00%] @ "5455000"
// RTL Simulation : 6 / 20 [950.00%] @ "6325000"
// RTL Simulation : 7 / 20 [975.00%] @ "7205000"
// RTL Simulation : 8 / 20 [950.00%] @ "8065000"
// RTL Simulation : 9 / 20 [950.00%] @ "8935000"
// RTL Simulation : 10 / 20 [950.00%] @ "9805000"
// RTL Simulation : 11 / 20 [950.00%] @ "10675000"
// RTL Simulation : 12 / 20 [975.00%] @ "11555000"
// RTL Simulation : 13 / 20 [950.00%] @ "12415000"
// RTL Simulation : 14 / 20 [950.00%] @ "13285000"
// RTL Simulation : 15 / 20 [950.00%] @ "14155000"
// RTL Simulation : 16 / 20 [950.00%] @ "15025000"
// RTL Simulation : 17 / 20 [975.00%] @ "15905000"
// RTL Simulation : 18 / 20 [950.00%] @ "16765000"
// RTL Simulation : 19 / 20 [950.00%] @ "17635000"
// RTL Simulation : 20 / 20 [100.00%] @ "18505000"
////////////////////////////////////////////////////////////////////////////////////
$finish called at time : 18545 ns : File "/media/masaaki/Ubuntu_Disk/Vitis_HLS/ZYBO_Z7_20/acc_sensor_inf2/solution1/sim/verilog/acc_sensor_if.autotb.v" Line 475
## quit
INFO: [Common 17-206] Exiting xsim at Wed Oct 14 04:56:07 2020...
INFO: [COSIM 212-316] Starting C post checking ...
time_zynq = 3 dataX_zynq = 0 dataY_zynq = 1 dataZ_zynq = 2
time_zynq = 4 dataX_zynq = 1 dataY_zynq = 2 dataZ_zynq = 3
time_zynq = 5 dataX_zynq = 2 dataY_zynq = 3 dataZ_zynq = 4
time_zynq = 6 dataX_zynq = 3 dataY_zynq = 4 dataZ_zynq = 5
time_zynq = 7 dataX_zynq = 4 dataY_zynq = 5 dataZ_zynq = 6
time_zynq = 8 dataX_zynq = 5 dataY_zynq = 6 dataZ_zynq = 7
time_zynq = 9 dataX_zynq = 6 dataY_zynq = 7 dataZ_zynq = 8
time_zynq = 10 dataX_zynq = 7 dataY_zynq = 8 dataZ_zynq = 9
time_zynq = 11 dataX_zynq = 8 dataY_zynq = 9 dataZ_zynq = 10
time_zynq = 12 dataX_zynq = 9 dataY_zynq = 10 dataZ_zynq = 11
time_zynq = 13 dataX_zynq = 10 dataY_zynq = 11 dataZ_zynq = 12
time_zynq = 14 dataX_zynq = 11 dataY_zynq = 12 dataZ_zynq = 13
time_zynq = 15 dataX_zynq = 12 dataY_zynq = 13 dataZ_zynq = 14
time_zynq = 16 dataX_zynq = 13 dataY_zynq = 14 dataZ_zynq = 15
time_zynq = 17 dataX_zynq = 14 dataY_zynq = 15 dataZ_zynq = 16
time_zynq = 18 dataX_zynq = 15 dataY_zynq = 16 dataZ_zynq = 17
time_zynq = 19 dataX_zynq = 16 dataY_zynq = 17 dataZ_zynq = 18
time_zynq = 20 dataX_zynq = 17 dataY_zynq = 18 dataZ_zynq = 19
time_zynq = 21 dataX_zynq = 18 dataY_zynq = 19 dataZ_zynq = 20
time_zynq = 22 dataX_zynq = 19 dataY_zynq = 20 dataZ_zynq = 21
INFO: [COSIM 212-1000] *** C/RTL co-simulation finished: PASS ***
Finished C/RTL cosimulation.
set_property PFM.IRQ {intr {id 0 range 32}} [get_bd_cells /axi_intc_0]
M_AXI_HPM0_FPD
M_AXI_HPM1_FPD
S_AXI_HPC0_FPD
S_AXI_HPC1_FPD
S_AXI_HP0_FPD
S_AXI_HP1_FPD
S_AXI_HP2_FPD
S_AXI_HP3_FPD
S_AXI_HPC0_FPD -> HPC0
S_AXI_HPC1_FPD -> HPC1
S_AXI_HP0_FPD -> HP0
S_AXI_HP1_FPD -> HP1
S_AXI_HP2_FPD -> HP2
S_AXI_HP3_FPD -> HP3
M01_AXI
M02_AXI
M03_AXI
M04_AXI
M05_AXI
M06_AXI
M07_AXI
M08_AXI
set_property platform.design_intent.embedded true [current_project]
set_property platform.design_intent.server_managed false [current_project]
set_property platform.design_intent.external_host false [current_project]
set_property platform.design_intent.datacenter false [current_project]
set_property platform.default_output_type "sd_card" [current_project]
TCL Console で以下のコマンドを入力した。
write_hw_platform -include_bit ultra96v2.xsa
pwd
validate_hw_platform ./ultra96v2.xsa
を入力した。while(1)
// DMA_multi2_ap_fixed.cpp
// 2020/10/06 by marsee
//
#include <ap_fixed.h>
int DMA_multi2_ap_fixed(ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> *in, ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> *out){
#pragma HLS INTERFACE m_axi depth=10 port=out offset=slave
#pragma HLS INTERFACE m_axi depth=10 port=in offset=slave
#pragma HLS INTERFACE s_axilite port=return
for (int i=0; i<10; i++){
#pragma HLS PIPELINE II=1
ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> temp = in[i];
out[i] = temp + temp;
}
return(0);
}
// DMA_multi2_ap_fixed_tb.cpp
// 2020/10/06 by marsee
//
#include <iostream>
#include <ap_fixed.h>
int DMA_multi2_ap_fixed(ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> *in, ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> *out);
int main(){
ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> data[10] = {0, 0.0078125, 0.015625, 0.0234375, 0.03125, 0.0390625, 0.046875, 0.0546875, 0.5, -0.5};
ap_fixed<8, 1, AP_TRN_ZERO, AP_SAT> result[10];
DMA_multi2_ap_fixed(data, result);
for(int i=0; i<10; i++){
std::cout << "data[" << i << "]= " << data[i] <<
", result[" << i << "] = " <<
result[i] << std::endl;
}
}
data[0]= 0, result[0] = 0
data[1]= 0.0078125, result[1] = 0.015625
data[2]= 0.015625, result[2] = 0.03125
data[3]= 0.0234375, result[3] = 0.046875
data[4]= 0.03125, result[4] = 0.0625
data[5]= 0.0390625, result[5] = 0.078125
data[6]= 0.046875, result[6] = 0.09375
data[7]= 0.0546875, result[7] = 0.109375
data[8]= 0.5, result[8] = 0.992188
data[9]= -0.5, result[9] = -1
acc_sensor_init(axi_iic_ad);
acc_sensor_write(axi_iic_ad, 0x3a, 0x2f, 0x52); // Reset
usleep(1000);
acc_sensor_write(axi_iic_ad, 0x3a, 0x2c, 0x82); // I2C speed is Hi speed, +-4g
でエラーになってしまう。ERROR: [XFORM 203-801] Interface parameter bitwidth 'in.V' (DMA_pow2_XX/DMA_pow2_XX.cpp:9:1) must be a multiple of 8 for AXI4 master port.
というエラーになった。ERROR: [XFORM 203-801] Bitwidth of (packed) data on axi master must be power of 2: Found 'in.V' (DMA_pow2_XX/DMA_pow2_XX.cpp:9:1) (packed) has a bitwidth of 120.
entity DMA_pow2_XX is
generic (
C_M_AXI_GMEM_ADDR_WIDTH : INTEGER := 32;
C_M_AXI_GMEM_ID_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_AWUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_DATA_WIDTH : INTEGER := 32;
C_M_AXI_GMEM_WUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_ARUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_RUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_BUSER_WIDTH : INTEGER := 1;
C_S_AXI_AXILITES_ADDR_WIDTH : INTEGER := 6;
C_S_AXI_AXILITES_DATA_WIDTH : INTEGER := 32;
C_M_AXI_GMEM_USER_VALUE : INTEGER := 0;
C_M_AXI_GMEM_PROT_VALUE : INTEGER := 0;
C_M_AXI_GMEM_CACHE_VALUE : INTEGER := 3 );
port (
ap_clk : IN STD_LOGIC;
ap_rst_n : IN STD_LOGIC;
m_axi_gmem_AWVALID : OUT STD_LOGIC;
m_axi_gmem_AWREADY : IN STD_LOGIC;
m_axi_gmem_AWADDR : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ADDR_WIDTH-1 downto 0);
m_axi_gmem_AWID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_AWLEN : OUT STD_LOGIC_VECTOR (7 downto 0);
m_axi_gmem_AWSIZE : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_AWBURST : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_AWLOCK : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_AWCACHE : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWPROT : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_AWQOS : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWREGION : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_AWUSER_WIDTH-1 downto 0);
m_axi_gmem_WVALID : OUT STD_LOGIC;
m_axi_gmem_WREADY : IN STD_LOGIC;
m_axi_gmem_WDATA : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH-1 downto 0);
m_axi_gmem_WSTRB : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH/8-1 downto 0);
m_axi_gmem_WLAST : OUT STD_LOGIC;
m_axi_gmem_WID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_WUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_WUSER_WIDTH-1 downto 0);
m_axi_gmem_ARVALID : OUT STD_LOGIC;
m_axi_gmem_ARREADY : IN STD_LOGIC;
m_axi_gmem_ARADDR : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ADDR_WIDTH-1 downto 0);
m_axi_gmem_ARID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_ARLEN : OUT STD_LOGIC_VECTOR (7 downto 0);
m_axi_gmem_ARSIZE : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_ARBURST : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_ARLOCK : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_ARCACHE : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARPROT : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_ARQOS : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARREGION : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ARUSER_WIDTH-1 downto 0);
m_axi_gmem_RVALID : IN STD_LOGIC;
m_axi_gmem_RREADY : OUT STD_LOGIC;
m_axi_gmem_RDATA : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH-1 downto 0);
m_axi_gmem_RLAST : IN STD_LOGIC;
m_axi_gmem_RID : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_RUSER : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_RUSER_WIDTH-1 downto 0);
m_axi_gmem_RRESP : IN STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_BVALID : IN STD_LOGIC;
m_axi_gmem_BREADY : OUT STD_LOGIC;
m_axi_gmem_BRESP : IN STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_BID : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_BUSER : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_BUSER_WIDTH-1 downto 0);
s_axi_AXILiteS_AWVALID : IN STD_LOGIC;
s_axi_AXILiteS_AWREADY : OUT STD_LOGIC;
s_axi_AXILiteS_AWADDR : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_ADDR_WIDTH-1 downto 0);
s_axi_AXILiteS_WVALID : IN STD_LOGIC;
s_axi_AXILiteS_WREADY : OUT STD_LOGIC;
s_axi_AXILiteS_WDATA : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH-1 downto 0);
s_axi_AXILiteS_WSTRB : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH/8-1 downto 0);
s_axi_AXILiteS_ARVALID : IN STD_LOGIC;
s_axi_AXILiteS_ARREADY : OUT STD_LOGIC;
s_axi_AXILiteS_ARADDR : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_ADDR_WIDTH-1 downto 0);
s_axi_AXILiteS_RVALID : OUT STD_LOGIC;
s_axi_AXILiteS_RREADY : IN STD_LOGIC;
s_axi_AXILiteS_RDATA : OUT STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH-1 downto 0);
s_axi_AXILiteS_RRESP : OUT STD_LOGIC_VECTOR (1 downto 0);
s_axi_AXILiteS_BVALID : OUT STD_LOGIC;
s_axi_AXILiteS_BREADY : IN STD_LOGIC;
s_axi_AXILiteS_BRESP : OUT STD_LOGIC_VECTOR (1 downto 0);
interrupt : OUT STD_LOGIC );
end;
// DMA_pow2_XX.h
// 2020/09/25 by marsee
//
#ifndef __DMA_POW2_XX_H__
#define __DMA_POW2_XX_H__
#define BIT_LEN 128
#endif
// DMA_pow2_XX.cpp
// 2020/09/25 by marsee
#include <ap_int.h>
#include "DMA_pow2_XX.h"
int DMA_pow2_XX(volatile ap_int<BIT_LEN> *in, volatile ap_int<BIT_LEN> *out){
#pragma HLS INTERFACE m_axi depth=10 port=out offset=slave
#pragma HLS INTERFACE m_axi depth=10 port=in offset=slave
#pragma HLS INTERFACE s_axilite port=return
for (int i=0; i<10; i++){
#pragma HLS PIPELINE II=1
ap_int<BIT_LEN> temp = in[i];
out[i] = temp * temp;
}
return(0);
}
// DMA_pow2_XX_tb.cpp
// 2020/09/25 by marsee
//
#include <iostream>
#include <ap_int.h>
#include "DMA_pow2_XX.h"
int DMA_pow2_XX(volatile ap_int<BIT_LEN> *in, volatile ap_int<BIT_LEN> *out);
int main(){
ap_int<BIT_LEN> data[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
ap_int<BIT_LEN> result[10];
DMA_pow2_XX(data, result);
for(int i=0; i<10; i++){
std::cout << "data[" << i << "]= " << data[i] <<
", result[" << i << "] = " <<
result[i] << std::endl;
}
}
entity DMA_pow2_XX is
generic (
C_M_AXI_GMEM_ADDR_WIDTH : INTEGER := 32;
C_M_AXI_GMEM_ID_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_AWUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_DATA_WIDTH : INTEGER := 128;
C_M_AXI_GMEM_WUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_ARUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_RUSER_WIDTH : INTEGER := 1;
C_M_AXI_GMEM_BUSER_WIDTH : INTEGER := 1;
C_S_AXI_AXILITES_ADDR_WIDTH : INTEGER := 6;
C_S_AXI_AXILITES_DATA_WIDTH : INTEGER := 32;
C_M_AXI_GMEM_USER_VALUE : INTEGER := 0;
C_M_AXI_GMEM_PROT_VALUE : INTEGER := 0;
C_M_AXI_GMEM_CACHE_VALUE : INTEGER := 3 );
port (
ap_clk : IN STD_LOGIC;
ap_rst_n : IN STD_LOGIC;
m_axi_gmem_AWVALID : OUT STD_LOGIC;
m_axi_gmem_AWREADY : IN STD_LOGIC;
m_axi_gmem_AWADDR : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ADDR_WIDTH-1 downto 0);
m_axi_gmem_AWID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_AWLEN : OUT STD_LOGIC_VECTOR (7 downto 0);
m_axi_gmem_AWSIZE : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_AWBURST : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_AWLOCK : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_AWCACHE : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWPROT : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_AWQOS : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWREGION : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_AWUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_AWUSER_WIDTH-1 downto 0);
m_axi_gmem_WVALID : OUT STD_LOGIC;
m_axi_gmem_WREADY : IN STD_LOGIC;
m_axi_gmem_WDATA : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH-1 downto 0);
m_axi_gmem_WSTRB : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH/8-1 downto 0);
m_axi_gmem_WLAST : OUT STD_LOGIC;
m_axi_gmem_WID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_WUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_WUSER_WIDTH-1 downto 0);
m_axi_gmem_ARVALID : OUT STD_LOGIC;
m_axi_gmem_ARREADY : IN STD_LOGIC;
m_axi_gmem_ARADDR : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ADDR_WIDTH-1 downto 0);
m_axi_gmem_ARID : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_ARLEN : OUT STD_LOGIC_VECTOR (7 downto 0);
m_axi_gmem_ARSIZE : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_ARBURST : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_ARLOCK : OUT STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_ARCACHE : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARPROT : OUT STD_LOGIC_VECTOR (2 downto 0);
m_axi_gmem_ARQOS : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARREGION : OUT STD_LOGIC_VECTOR (3 downto 0);
m_axi_gmem_ARUSER : OUT STD_LOGIC_VECTOR (C_M_AXI_GMEM_ARUSER_WIDTH-1 downto 0);
m_axi_gmem_RVALID : IN STD_LOGIC;
m_axi_gmem_RREADY : OUT STD_LOGIC;
m_axi_gmem_RDATA : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_DATA_WIDTH-1 downto 0);
m_axi_gmem_RLAST : IN STD_LOGIC;
m_axi_gmem_RID : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_RUSER : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_RUSER_WIDTH-1 downto 0);
m_axi_gmem_RRESP : IN STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_BVALID : IN STD_LOGIC;
m_axi_gmem_BREADY : OUT STD_LOGIC;
m_axi_gmem_BRESP : IN STD_LOGIC_VECTOR (1 downto 0);
m_axi_gmem_BID : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_ID_WIDTH-1 downto 0);
m_axi_gmem_BUSER : IN STD_LOGIC_VECTOR (C_M_AXI_GMEM_BUSER_WIDTH-1 downto 0);
s_axi_AXILiteS_AWVALID : IN STD_LOGIC;
s_axi_AXILiteS_AWREADY : OUT STD_LOGIC;
s_axi_AXILiteS_AWADDR : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_ADDR_WIDTH-1 downto 0);
s_axi_AXILiteS_WVALID : IN STD_LOGIC;
s_axi_AXILiteS_WREADY : OUT STD_LOGIC;
s_axi_AXILiteS_WDATA : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH-1 downto 0);
s_axi_AXILiteS_WSTRB : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH/8-1 downto 0);
s_axi_AXILiteS_ARVALID : IN STD_LOGIC;
s_axi_AXILiteS_ARREADY : OUT STD_LOGIC;
s_axi_AXILiteS_ARADDR : IN STD_LOGIC_VECTOR (C_S_AXI_AXILITES_ADDR_WIDTH-1 downto 0);
s_axi_AXILiteS_RVALID : OUT STD_LOGIC;
s_axi_AXILiteS_RREADY : IN STD_LOGIC;
s_axi_AXILiteS_RDATA : OUT STD_LOGIC_VECTOR (C_S_AXI_AXILITES_DATA_WIDTH-1 downto 0);
s_axi_AXILiteS_RRESP : OUT STD_LOGIC_VECTOR (1 downto 0);
s_axi_AXILiteS_BVALID : OUT STD_LOGIC;
s_axi_AXILiteS_BREADY : IN STD_LOGIC;
s_axi_AXILiteS_BRESP : OUT STD_LOGIC_VECTOR (1 downto 0);
interrupt : OUT STD_LOGIC );
end;
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | - | - | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |