だった。fl = (y-1)%3;
// laplacian_filter.c
// lap_filter_axim()
#include <stdio.h>
#include <string.h>
#define HORIZONTAL_PIXEL_WIDTH 800
#define VERTICAL_PIXEL_WIDTH 600
#define ALL_PIXEL_VALUE (HORIZONTAL_PIXEL_WIDTH*VERTICAL_PIXEL_WIDTH)
int laplacian_fil(int x0y0, int x1y0, int x2y0, int x0y1, int x1y1, int x2y1, int x0y2, int x1y2, int x2y2);
int conv_rgb2y(int rgb);
int lap_filter_axim(int cam_addr, int lap_addr, volatile int *cam_fb, volatile int *lap_fb)
{
#pragma HLS INTERFACE s_axilite port=cam_addr bundle=BUS_AXI4LS
#pragma HLS INTERFACE s_axilite port=lap_addr bundle=BUS_AXI4LS
#pragma HLS INTERFACE s_axilite port=return bundle=BUS_AXI4LS
#pragma HLS INTERFACE ap_none port=cam_addr
#pragma HLS INTERFACE ap_none port=lap_addr
#pragma HLS INTERFACE m_axi port=cam_fb depth=1920
#pragma HLS INTERFACE m_axi port=lap_fb depth=1920
unsigned int line_buf[3][HORIZONTAL_PIXEL_WIDTH];
unsigned int lap_buf[HORIZONTAL_PIXEL_WIDTH];
int x, y;
int lap_fil_val;
int a, b;
int fl, sl, tl;
unsigned int offset_cam_addr, offset_lap_addr;
int *cam_fb_addr, *lap_fb_addr;
int line_sel;
offset_cam_addr = cam_addr/sizeof(int);
offset_lap_addr = lap_addr/sizeof(int);
// RGB値をY(輝度成分)のみに変換し、ラプラシアンフィルタを掛けた。
for (y=0, line_sel=0; y<VERTICAL_PIXEL_WIDTH; y++){
// 最初のライン, y=1 012, y=2 120, y=3 201, y=4 012
switch(line_sel){
case 1 :
fl = 0; sl = 1; tl = 2;
break;
case 2 :
fl = 1; sl = 2; tl = 0;
break;
case 3 :
fl = 2; sl = 0; tl = 1;
break;
default :
fl = 0; sl = 1; tl = 2;
}
//fl = (y-1)%3; // 最初のライン, y=1 012, y=2 120, y=3 201, y=4 012
//sl = y%3; // 2番めのライン
//tl = (y+1)%3; // 3番目のライン
for (x=0; x<HORIZONTAL_PIXEL_WIDTH; x++){
if (y==0 || y==VERTICAL_PIXEL_WIDTH-1){ // 縦の境界の時の値は0とする
lap_fil_val = 0;
}else if (x==0 || x==HORIZONTAL_PIXEL_WIDTH-1){ // 横の境界の時も値は0とする
lap_fil_val = 0;
}else{
if (x == 1){ // ラインの最初でラインの画素を読み出す
if (y == 1){ // 最初のラインでは3ライン分の画素を読み出す
for (a=0; a<3; a++){ // 3ライン分
cam_fb_addr = (int*)(cam_fb+offset_cam_addr+(a*(HORIZONTAL_PIXEL_WIDTH)));
memcpy(&line_buf[a][0], (const int*)cam_fb_addr, HORIZONTAL_PIXEL_WIDTH*sizeof(int));
for (b=0; b<HORIZONTAL_PIXEL_WIDTH; b++){ // ライン
line_buf[a][b] = conv_rgb2y(line_buf[a][b]); // カラーから白黒へ
}
}
} else { // 最初のラインではないので、1ラインだけ読み込む。すでに他の2ラインは読み込まれている
cam_fb_addr = (int*)(cam_fb+offset_cam_addr+((y+1)*(HORIZONTAL_PIXEL_WIDTH)));
memcpy(line_buf[tl], (const int*)cam_fb_addr, HORIZONTAL_PIXEL_WIDTH*sizeof(int));
for (b=0; b<HORIZONTAL_PIXEL_WIDTH; b++){ // ライン
line_buf[tl][b] = conv_rgb2y(line_buf[tl][b]); // カラーから白黒へ
}
}
}
lap_fil_val = laplacian_fil(line_buf[fl][x-1], line_buf[fl][x], line_buf[fl][x+1], line_buf[sl][x-1], line_buf[sl][x], line_buf[sl][x+1], line_buf[tl][x-1], line_buf[tl][x], line_buf[tl][x+1]);
}
lap_buf[x] = (lap_fil_val<<16)+(lap_fil_val<<8)+lap_fil_val; // RGB同じ値を入れる
}
lap_fb_addr = (int *)(lap_fb+offset_lap_addr+(y*(HORIZONTAL_PIXEL_WIDTH)));
memcpy(lap_fb_addr, (const int*)lap_buf, HORIZONTAL_PIXEL_WIDTH*sizeof(int));
line_sel++;
if (line_sel > 3){
line_sel = 1;
}
}
return(1);
}
// RGBからYへの変換
// RGBのフォーマットは、{8'd0, R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
int conv_rgb2y(int rgb){
int r, g, b, y_f;
int y;
b = rgb & 0xff;
g = (rgb>>8) & 0xff;
r = (rgb>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// ラプラシアンフィルタ
// x0y0 x1y0 x2y0 -1 -1 -1
// x0y1 x1y1 x2y1 -1 8 -1
// x0y2 x1y2 x2y2 -1 -1 -1
int laplacian_fil(int x0y0, int x1y0, int x2y0, int x0y1, int x1y1, int x2y1, int x0y2, int x1y2, int x2y2)
{
int y;
y = -x0y0 -x1y0 -x2y0 -x0y1 +8*x1y1 -x2y1 -x0y2 -x1y2 -x2y2;
if (y<0)
y = 0;
else if (y>255)
y = 255;
return(y);
}
================================================================
== Utilization Estimates
================================================================
* Summary:
+-----------------+---------+-------+-------+-------+
| Name | BRAM_18K| DSP48E| FF | LUT |
+-----------------+---------+-------+-------+-------+
|Expression | -| 11| 0| 849|
|FIFO | -| -| -| -|
|Instance | 0| -| 1416| 1686|
|Memory | 10| -| 0| 0|
|Multiplexer | -| -| -| 393|
|Register | -| -| 1053| -|
+-----------------+---------+-------+-------+-------+
|Total | 10| 11| 2469| 2928|
+-----------------+---------+-------+-------+-------+
|Available | 120| 80| 35200| 17600|
+-----------------+---------+-------+-------+-------+
|Utilization (%) | 8| 13| 7| 16|
+-----------------+---------+-------+-------+-------+
================================================================
== Utilization Estimates
================================================================
* Summary:
+-----------------+---------+-------+-------+-------+
| Name | BRAM_18K| DSP48E| FF | LUT |
+-----------------+---------+-------+-------+-------+
|Expression | -| 11| 0| 1080|
|FIFO | -| -| -| -|
|Instance | 0| -| 1168| 1392|
|Memory | 10| -| 0| 0|
|Multiplexer | -| -| -| 401|
|Register | -| -| 1086| -|
+-----------------+---------+-------+-------+-------+
|Total | 10| 11| 2254| 2873|
+-----------------+---------+-------+-------+-------+
|Available | 120| 80| 35200| 17600|
+-----------------+---------+-------+-------+-------+
|Utilization (%) | 8| 13| 6| 16|
+-----------------+---------+-------+-------+-------+
================================================================
== Vivado HLS Report for 'lap_filter_axim'
================================================================
* Date: Sun Mar 22 05:31:18 2015
* Version: 2014.4 (Build 1071461 on Tue Nov 18 16:42:57 PM 2014)
* Project: lap_filter_axim_2014_4
* Solution: solution1
* Product family: zynq
* Target device: xc7z010clg400-1
================================================================
== Performance Estimates
================================================================
+ Timing (ns):
* Summary:
+---------+-------+----------+------------+
| Clock | Target| Estimated| Uncertainty|
+---------+-------+----------+------------+
|default | 10.00| 8.75| 1.25|
+---------+-------+----------+------------+
+ Latency (clock cycles):
* Summary:
+---------+------------+---------+------------+---------+
| Latency | Interval | Pipeline|
| min | max | min | max | Type |
+---------+------------+---------+------------+---------+
| 1445401| 8083685401| 1445402| 8083685402| none |
+---------+------------+---------+------------+---------+
+ Detail:
* Instance:
N/A
* Loop:
+------------------------------+---------+------------+-----------------+-----------+-----------+------+----------+
| | Latency | Iteration | Initiation Interval | Trip | |
| Loop Name | min | max | Latency | achieved | target | Count| Pipelined|
+------------------------------+---------+------------+-----------------+-----------+-----------+------+----------+
|- Loop 1 | 1445400| 8083685400| 2409 ~ 13472809 | -| -| 600| no |
| + Loop 1.1 | 1600| 13472000| 2 ~ 16840 | -| -| 800| no |
| ++ Loop 1.1.1 | 16830| 16830| 5610| -| -| 3| no |
| +++ memcpy..cam_fb | 801| 801| 3| 1| 1| 800| yes |
| +++ Loop 1.1.1.2 | 4800| 4800| 6| -| -| 800| no |
| ++ memcpy..cam_fb | 801| 801| 3| 1| 1| 800| yes |
| ++ Loop 1.1.3 | 4800| 4800| 6| -| -| 800| no |
| + memcpy.lap_fb.lap_buf.gep | 801| 801| 3| 1| 1| 800| yes |
+------------------------------+---------+------------+-----------------+-----------+-----------+------+----------+
================================================================
== Utilization Estimates
================================================================
* Summary:
+-----------------+---------+-------+-------+-------+
| Name | BRAM_18K| DSP48E| FF | LUT |
+-----------------+---------+-------+-------+-------+
|Expression | -| 11| 0| 1080|
|FIFO | -| -| -| -|
|Instance | 0| -| 1168| 1392|
|Memory | 10| -| 0| 0|
|Multiplexer | -| -| -| 401|
|Register | -| -| 1086| -|
+-----------------+---------+-------+-------+-------+
|Total | 10| 11| 2254| 2873|
+-----------------+---------+-------+-------+-------+
|Available | 120| 80| 35200| 17600|
+-----------------+---------+-------+-------+-------+
|Utilization (%) | 8| 13| 6| 16|
+-----------------+---------+-------+-------+-------+
+ Detail:
* Instance:
+------------------------------------+----------------------------------+---------+-------+-----+-----+
| Instance | Module | BRAM_18K| DSP48E| FF | LUT |
+------------------------------------+----------------------------------+---------+-------+-----+-----+
|lap_filter_axim_BUS_AXI4LS_s_axi_U |lap_filter_axim_BUS_AXI4LS_s_axi | 0| 0| 144| 232|
|lap_filter_axim_cam_fb_m_axi_U |lap_filter_axim_cam_fb_m_axi | 0| 0| 512| 580|
|lap_filter_axim_lap_fb_m_axi_U |lap_filter_axim_lap_fb_m_axi | 0| 0| 512| 580|
+------------------------------------+----------------------------------+---------+-------+-----+-----+
|Total | | 0| 0| 1168| 1392|
+------------------------------------+----------------------------------+---------+-------+-----+-----+
* Memory:
+------------+--------------------------+---------+---+----+------+-----+------+-------------+
| Memory | Module | BRAM_18K| FF| LUT| Words| Bits| Banks| W*Bits*Banks|
+------------+--------------------------+---------+---+----+------+-----+------+-------------+
|lap_buf_U |lap_filter_axim_lap_buf | 2| 0| 0| 800| 24| 1| 19200|
|line_buf_U |lap_filter_axim_line_buf | 8| 0| 0| 2400| 32| 1| 76800|
+------------+--------------------------+---------+---+----+------+-----+------+-------------+
|Total | | 10| 0| 0| 3200| 56| 2| 96000|
+------------+--------------------------+---------+---+----+------+-----+------+-------------+
* FIFO:
N/A
* Expression:
+--------------------------+----------+-------+---+----+------------+------------+
| Variable Name | Operation| DSP48E| FF| LUT| Bitwidth P0| Bitwidth P1|
+--------------------------+----------+-------+---+----+------------+------------+
|p_addr1_fu_691_p2 | * | 1| 0| 0| 2| 10|
|p_addr3_fu_700_p2 | * | 1| 0| 0| 2| 10|
|p_addr_fu_682_p2 | * | 1| 0| 0| 2| 10|
|tmp_2_fu_673_p2 | * | 1| 0| 0| 2| 10|
|tmp_38_i8_fu_902_p2 | * | 1| 0| 0| 8| 7|
|tmp_38_i_fu_1059_p2 | * | 1| 0| 0| 8| 7|
|tmp_39_i9_fu_874_p2 | * | 1| 0| 0| 8| 8|
|tmp_39_i_fu_1031_p2 | * | 1| 0| 0| 8| 8|
|tmp_40_i1_fu_883_p2 | * | 1| 0| 0| 8| 5|
|tmp_40_i_fu_1040_p2 | * | 1| 0| 0| 8| 5|
|y_i16_op_cast_fu_1226_p2 | * | 1| 0| 1| 24| 17|
|a_1_fu_945_p2 | + | 0| 0| 2| 2| 1|
|b_2_fu_1002_p2 | + | 0| 0| 10| 10| 1|
|b_fu_813_p2 | + | 0| 0| 10| 10| 1|
|indvar_next1_fu_1259_p2 | + | 0| 0| 10| 10| 1|
|indvar_next2_fu_792_p2 | + | 0| 0| 10| 10| 1|
|indvar_next_fu_980_p2 | + | 0| 0| 10| 10| 1|
|line_sel_1_fu_1274_p2 | + | 0| 0| 32| 32| 1|
|next_mul1_fu_542_p2 | + | 0| 0| 19| 19| 10|
|next_mul2_fu_927_p2 | + | 0| 0| 12| 12| 10|
|next_mul_fu_933_p2 | + | 0| 0| 12| 12| 10|
|p_addr10_fu_1087_p2 | + | 0| 0| 12| 12| 12|
|p_addr11_fu_1121_p2 | + | 0| 0| 12| 12| 12|
|p_addr12_fu_1097_p2 | + | 0| 0| 12| 12| 12|
|p_addr13_fu_1112_p2 | + | 0| 0| 12| 12| 12|
|p_addr2_fu_1138_p2 | + | 0| 0| 12| 12| 12|
|p_addr4_fu_842_p2 | + | 0| 0| 12| 12| 12|
|p_addr5_fu_1134_p2 | + | 0| 0| 12| 12| 12|
|p_addr6_fu_823_p2 | + | 0| 0| 12| 12| 12|
|p_addr7_fu_856_p2 | + | 0| 0| 12| 12| 12|
|p_addr8_fu_1130_p2 | + | 0| 0| 12| 12| 12|
|p_addr9_fu_1012_p2 | + | 0| 0| 12| 12| 12|
|sum2_i_fu_1162_p2 | + | 0| 0| 16| 32| 32|
|tmp21_fu_1106_p2 | + | 0| 0| 32| 32| 32|
|tmp22_fu_1142_p2 | + | 0| 0| 32| 32| 32|
|tmp_12_fu_986_p2 | + | 0| 0| 12| 12| 12|
|tmp_17_fu_833_p2 | + | 0| 0| 11| 11| 2|
|tmp_35_fu_764_p2 | + | 0| 0| 31| 31| 31|
|tmp_37_fu_955_p2 | + | 0| 0| 31| 31| 31|
|tmp_8_fu_768_p2 | + | 0| 0| 31| 31| 31|
|tmp_fu_536_p2 | + | 0| 0| 31| 31| 10|
|tmp_s_fu_798_p2 | + | 0| 0| 12| 12| 12|
|x_1_fu_716_p2 | + | 0| 0| 10| 10| 1|
|y_1_fu_554_p2 | + | 0| 0| 10| 10| 1|
|sum3_neg_i_fu_1166_p2 | - | 0| 0| 16| 32| 32|
|tmp_42_i_fu_1182_p2 | - | 0| 0| 32| 32| 32|
|tmp_43_i_fu_1187_p2 | - | 0| 0| 32| 32| 32|
|tmp_i1_fu_1172_p2 | - | 0| 0| 32| 32| 32|
|y_4_fu_1193_p2 | - | 0| 0| 32| 32| 32|
|newSel2_fu_602_p3 | Select | 0| 0| 3| 1| 1|
|newSel_fu_594_p3 | Select | 0| 0| 3| 1| 3|
|p_s_fu_1296_p3 | Select | 0| 0| 32| 1| 1|
|phitmp_fu_1231_p3 | Select | 0| 0| 24| 1| 2|
|sel_tmp1_fu_620_p3 | Select | 0| 0| 3| 1| 1|
|sel_tmp3_fu_628_p3 | Select | 0| 0| 3| 1| 3|
|tl_fu_636_p3 | Select | 0| 0| 2| 1| 2|
|tmp_5_fu_644_p3 | Select | 0| 0| 2| 1| 2|
|tmp_6_fu_652_p3 | Select | 0| 0| 2| 1| 2|
|ap_sig_bdd_1016 | and | 0| 0| 1| 1| 1|
|ap_sig_bdd_373 | and | 0| 0| 1| 1| 1|
|ap_sig_bdd_394 | and | 0| 0| 1| 1| 1|
|exitcond1_fu_1253_p2 | icmp | 0| 0| 11| 10| 9|
|exitcond2_fu_786_p2 | icmp | 0| 0| 11| 10| 9|
|exitcond3_fu_996_p2 | icmp | 0| 0| 11| 10| 9|
|exitcond4_fu_939_p2 | icmp | 0| 0| 2| 2| 2|
|exitcond5_fu_710_p2 | icmp | 0| 0| 11| 10| 9|
|exitcond6_fu_548_p2 | icmp | 0| 0| 11| 10| 10|
|exitcond7_fu_974_p2 | icmp | 0| 0| 11| 10| 9|
|exitcond_fu_807_p2 | icmp | 0| 0| 11| 10| 9|
|icmp1_fu_1290_p2 | icmp | 0| 0| 38| 30| 1|
|icmp_fu_1216_p2 | icmp | 0| 0| 30| 24| 1|
|sel_tmp2_fu_566_p2 | icmp | 0| 0| 40| 32| 2|
|sel_tmp4_fu_572_p2 | icmp | 0| 0| 40| 32| 1|
|sel_tmp_fu_560_p2 | icmp | 0| 0| 40| 32| 2|
|tmp_13_fu_722_p2 | icmp | 0| 0| 11| 10| 10|
|tmp_19_fu_728_p2 | icmp | 0| 0| 11| 10| 1|
|tmp_30_fu_740_p2 | icmp | 0| 0| 11| 10| 9|
|tmp_32_fu_746_p2 | icmp | 0| 0| 11| 10| 1|
|tmp_4_fu_663_p2 | icmp | 0| 0| 11| 10| 1|
|tmp_7_fu_758_p2 | icmp | 0| 0| 11| 10| 1|
|or_cond_fu_588_p2 | or | 0| 0| 1| 1| 1|
|tmp_29_fu_734_p2 | or | 0| 0| 1| 1| 1|
|tmp_33_fu_752_p2 | or | 0| 0| 1| 1| 1|
|not_sel_tmp4_fu_578_p2 | xor | 0| 0| 2| 1| 2|
|not_sel_tmp_fu_610_p2 | xor | 0| 0| 2| 1| 2|
+--------------------------+----------+-------+---+----+------------+------------+
|Total | | 11| 0|1080| 1073| 776|
+--------------------------+----------+-------+---+----+------------+------------+
* Multiplexer:
+-------------------------------+----+-----------+-----+-----------+
| Name | LUT| Input Size| Bits| Total Bits|
+-------------------------------+----+-----------+-----+-----------+
|a_reg_387 | 2| 2| 2| 4|
|ap_NS_fsm | 78| 44| 1| 44|
|ap_reg_ppiten_pp0_it2 | 1| 2| 1| 2|
|ap_reg_ppiten_pp1_it2 | 1| 2| 1| 2|
|ap_reg_ppiten_pp2_it2 | 1| 2| 1| 2|
|ap_sig_ioackin_cam_fb_ARREADY | 1| 2| 1| 2|
|ap_sig_ioackin_lap_fb_AWREADY | 1| 2| 1| 2|
|ap_sig_ioackin_lap_fb_WREADY | 1| 2| 1| 2|
|b1_reg_433 | 10| 2| 10| 20|
|b_1_reg_376 | 10| 2| 10| 20|
|cam_fb_ARADDR | 32| 3| 32| 96|
|indvar1_reg_462 | 10| 2| 10| 20|
|indvar2_reg_365 | 10| 2| 10| 20|
|indvar_reg_422 | 10| 2| 10| 20|
|lap_buf_address0 | 10| 3| 10| 30|
|lap_fil_val_1_phi_fu_448_p8 | 24| 2| 24| 48|
|lap_fil_val_1_reg_444 | 24| 2| 24| 48|
|line_buf_address0 | 24| 9| 12| 108|
|line_buf_address1 | 24| 8| 12| 96|
|line_buf_d1 | 32| 4| 32| 128|
|line_sel_reg_329 | 32| 2| 32| 64|
|phi_mul1_reg_341 | 19| 2| 19| 38|
|phi_mul2_reg_410 | 12| 2| 12| 24|
|phi_mul_reg_398 | 12| 2| 12| 24|
|x_reg_353 | 10| 2| 10| 20|
|y_reg_317 | 10| 2| 10| 20|
+-------------------------------+----+-----------+-----+-----------+
|Total | 401| 111| 300| 904|
+-------------------------------+----+-----------+-----+-----------+
* Register:
+-----------------------------------------+----+----+-----+-----------+
| Name | FF | LUT| Bits| Const Bits|
+-----------------------------------------+----+----+-----+-----------+
|a_1_reg_1511 | 2| 0| 2| 0|
|a_reg_387 | 2| 0| 2| 0|
|ap_CS_fsm | 43| 0| 43| 0|
|ap_reg_ioackin_cam_fb_ARREADY | 1| 0| 1| 0|
|ap_reg_ioackin_lap_fb_AWREADY | 1| 0| 1| 0|
|ap_reg_ioackin_lap_fb_WREADY | 1| 0| 1| 0|
|ap_reg_ppiten_pp0_it0 | 1| 0| 1| 0|
|ap_reg_ppiten_pp0_it1 | 1| 0| 1| 0|
|ap_reg_ppiten_pp0_it2 | 1| 0| 1| 0|
|ap_reg_ppiten_pp1_it0 | 1| 0| 1| 0|
|ap_reg_ppiten_pp1_it1 | 1| 0| 1| 0|
|ap_reg_ppiten_pp1_it2 | 1| 0| 1| 0|
|ap_reg_ppiten_pp2_it0 | 1| 0| 1| 0|
|ap_reg_ppiten_pp2_it1 | 1| 0| 1| 0|
|ap_reg_ppiten_pp2_it2 | 1| 0| 1| 0|
|ap_reg_ppstg_exitcond1_reg_1675_pp2_it1 | 1| 0| 1| 0|
|ap_reg_ppstg_exitcond2_reg_1427_pp0_it1 | 1| 0| 1| 0|
|ap_reg_ppstg_exitcond7_reg_1527_pp1_it1 | 1| 0| 1| 0|
|ap_reg_ppstg_tmp_12_reg_1536_pp1_it1 | 12| 0| 12| 0|
|ap_reg_ppstg_tmp_s_reg_1436_pp0_it1 | 12| 0| 12| 0|
|b1_reg_433 | 10| 0| 10| 0|
|b_1_reg_376 | 10| 0| 10| 0|
|b_2_reg_1544 | 10| 0| 10| 0|
|b_3_reg_1477 | 8| 0| 8| 0|
|b_4_reg_1555 | 8| 0| 8| 0|
|b_reg_1444 | 10| 0| 10| 0|
|exitcond1_reg_1675 | 1| 0| 1| 0|
|exitcond2_reg_1427 | 1| 0| 1| 0|
|exitcond4_reg_1507 | 1| 0| 1| 0|
|exitcond7_reg_1527 | 1| 0| 1| 0|
|icmp_reg_1655 | 1| 0| 1| 0|
|indvar1_reg_462 | 10| 0| 10| 0|
|indvar2_reg_365 | 10| 0| 10| 0|
|indvar_reg_422 | 10| 0| 10| 0|
|lap_buf_load_reg_1689 | 24| 0| 24| 0|
|lap_fil_val_1_reg_444 | 24| 0| 24| 0|
|line_buf_addr_2_reg_1449 | 12| 0| 12| 0|
|line_buf_addr_3_reg_1549 | 12| 0| 12| 0|
|line_sel_reg_329 | 32| 0| 32| 0|
|next_mul1_reg_1319 | 19| 0| 19| 0|
|next_mul2_reg_1497 | 12| 0| 12| 0|
|next_mul_reg_1502 | 12| 0| 12| 0|
|offset_cam_addr_cast_reg_1304 | 31| 0| 31| 0|
|offset_lap_addr_cast_reg_1309 | 31| 0| 31| 0|
|p_addr1_reg_1371 | 7| 0| 12| 5|
|p_addr2_reg_1616 | 12| 0| 12| 0|
|p_addr3_reg_1378 | 7| 0| 12| 5|
|p_addr5_reg_1611 | 12| 0| 12| 0|
|p_addr8_reg_1606 | 12| 0| 12| 0|
|p_addr_reg_1363 | 7| 0| 12| 5|
|p_s_reg_1694 | 32| 0| 32| 0|
|phi_mul1_reg_341 | 19| 0| 19| 0|
|phi_mul2_reg_410 | 12| 0| 12| 0|
|phi_mul_reg_398 | 12| 0| 12| 0|
|phitmp_reg_1665 | 24| 0| 24| 0|
|reg_494 | 32| 0| 32| 0|
|reg_500 | 8| 0| 8| 0|
|reg_504 | 8| 0| 8| 0|
|tl_reg_1332 | 2| 0| 2| 0|
|tmp17_reg_1487 | 16| 0| 16| 0|
|tmp19_reg_1565 | 16| 0| 16| 0|
|tmp21_reg_1591 | 32| 0| 32| 0|
|tmp22_reg_1621 | 32| 0| 32| 0|
|tmp_12_reg_1536 | 12| 0| 12| 0|
|tmp_29_reg_1399 | 1| 0| 1| 0|
|tmp_2_reg_1358 | 7| 0| 12| 5|
|tmp_31_trn_cast_reg_1455 | 11| 0| 12| 1|
|tmp_32_trn_cast_reg_1466 | 10| 0| 12| 2|
|tmp_33_reg_1403 | 1| 0| 1| 0|
|tmp_34_trn_cast_reg_1575 | 10| 0| 12| 2|
|tmp_35_reg_1411 | 31| 0| 31| 0|
|tmp_37_reg_1516 | 31| 0| 31| 0|
|tmp_39_i9_reg_1482 | 15| 0| 16| 1|
|tmp_39_i_reg_1560 | 15| 0| 16| 1|
|tmp_42_reg_1651 | 1| 0| 1| 0|
|tmp_43_i_reg_1646 | 32| 0| 32| 0|
|tmp_44_reg_1660 | 24| 0| 24| 0|
|tmp_4_reg_1348 | 1| 0| 1| 0|
|tmp_5_cast1_reg_1352 | 19| 0| 31| 12|
|tmp_5_reg_1338 | 2| 0| 2| 0|
|tmp_6_reg_1343 | 2| 0| 2| 0|
|tmp_7_reg_1407 | 1| 0| 1| 0|
|tmp_8_reg_1416 | 31| 0| 31| 0|
|tmp_i1_reg_1636 | 32| 0| 32| 0|
|tmp_reg_1314 | 31| 0| 31| 0|
|tmp_s_reg_1436 | 12| 0| 12| 0|
|x_1_reg_1393 | 10| 0| 10| 0|
|x_cast_reg_1385 | 10| 0| 11| 1|
|x_reg_353 | 10| 0| 10| 0|
|y_1_reg_1327 | 10| 0| 10| 0|
|y_2_reg_1492 | 8| 0| 8| 0|
|y_3_reg_1570 | 8| 0| 8| 0|
|y_reg_317 | 10| 0| 10| 0|
+-----------------------------------------+----+----+-----+-----------+
|Total |1086| 0| 1126| 40|
+-----------------------------------------+----+----+-----+-----------+
================================================================
== Interface
================================================================
* Summary:
+--------------------------+-----+-----+------------+-----------------+--------------+
| RTL Ports | Dir | Bits| Protocol | Source Object | C Type |
+--------------------------+-----+-----+------------+-----------------+--------------+
|s_axi_BUS_AXI4LS_AWVALID | in | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_AWREADY | out | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_AWADDR | in | 6| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_WVALID | in | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_WREADY | out | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_WDATA | in | 32| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_WSTRB | in | 4| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_ARVALID | in | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_ARREADY | out | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_ARADDR | in | 6| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_RVALID | out | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_RREADY | in | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_RDATA | out | 32| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_RRESP | out | 2| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_BVALID | out | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_BREADY | in | 1| s_axi | BUS_AXI4LS | scalar |
|s_axi_BUS_AXI4LS_BRESP | out | 2| s_axi | BUS_AXI4LS | scalar |
|ap_clk | in | 1| ap_ctrl_hs | lap_filter_axim | return value |
|ap_rst_n | in | 1| ap_ctrl_hs | lap_filter_axim | return value |
|interrupt | out | 1| ap_ctrl_hs | lap_filter_axim | return value |
|m_axi_cam_fb_AWVALID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWREADY | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWADDR | out | 32| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWLEN | out | 8| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWSIZE | out | 3| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWBURST | out | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWLOCK | out | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWCACHE | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWPROT | out | 3| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWQOS | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWREGION | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_AWUSER | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WVALID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WREADY | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WDATA | out | 32| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WSTRB | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WLAST | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_WUSER | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARVALID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARREADY | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARADDR | out | 32| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARID | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARLEN | out | 8| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARSIZE | out | 3| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARBURST | out | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARLOCK | out | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARCACHE | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARPROT | out | 3| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARQOS | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARREGION | out | 4| m_axi | cam_fb | pointer |
|m_axi_cam_fb_ARUSER | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RVALID | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RREADY | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RDATA | in | 32| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RLAST | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RID | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RUSER | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_RRESP | in | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_BVALID | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_BREADY | out | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_BRESP | in | 2| m_axi | cam_fb | pointer |
|m_axi_cam_fb_BID | in | 1| m_axi | cam_fb | pointer |
|m_axi_cam_fb_BUSER | in | 1| m_axi | cam_fb | pointer |
|m_axi_lap_fb_AWVALID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWREADY | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWADDR | out | 32| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWLEN | out | 8| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWSIZE | out | 3| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWBURST | out | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWLOCK | out | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWCACHE | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWPROT | out | 3| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWQOS | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWREGION | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_AWUSER | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WVALID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WREADY | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WDATA | out | 32| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WSTRB | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WLAST | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_WUSER | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARVALID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARREADY | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARADDR | out | 32| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARID | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARLEN | out | 8| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARSIZE | out | 3| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARBURST | out | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARLOCK | out | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARCACHE | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARPROT | out | 3| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARQOS | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARREGION | out | 4| m_axi | lap_fb | pointer |
|m_axi_lap_fb_ARUSER | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RVALID | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RREADY | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RDATA | in | 32| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RLAST | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RID | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RUSER | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_RRESP | in | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_BVALID | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_BREADY | out | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_BRESP | in | 2| m_axi | lap_fb | pointer |
|m_axi_lap_fb_BID | in | 1| m_axi | lap_fb | pointer |
|m_axi_lap_fb_BUSER | in | 1| m_axi | lap_fb | pointer |
+--------------------------+-----+-----+------------+-----------------+--------------+
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | - | - | - | 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 | - | - | - | - | - | - |