diff options
Diffstat (limited to 'Sobel/sobel.v5/rtl.v')
-rw-r--r-- | Sobel/sobel.v5/rtl.v | 452 |
1 files changed, 452 insertions, 0 deletions
diff --git a/Sobel/sobel.v5/rtl.v b/Sobel/sobel.v5/rtl.v new file mode 100644 index 0000000..89f6e2b --- /dev/null +++ b/Sobel/sobel.v5/rtl.v @@ -0,0 +1,452 @@ +// ---------------------------------------------------------------------- +// HLS HDL: Verilog Netlister +// HLS Version: 2011a.126 Production Release +// HLS Date: Wed Aug 8 00:52:07 PDT 2012 +// +// Generated by: mg3115@EEWS104A-013 +// Generated date: Tue Mar 08 14:36:28 2016 +// ---------------------------------------------------------------------- + +// +// ------------------------------------------------------------------ +// Design Unit: sobel_core +// ------------------------------------------------------------------ + + +module sobel_core ( + clk, en, arst_n, vin_rsc_mgc_in_wire_d, vout_rsc_mgc_out_stdreg_d +); + input clk; + input en; + input arst_n; + input [89:0] vin_rsc_mgc_in_wire_d; + output [29:0] vout_rsc_mgc_out_stdreg_d; + + + // Interconnect Declarations + reg [29:0] regs_regs_1_1_sva; + reg [29:0] regs_regs_1_sg2_sva; + reg [9:0] ACC1_slc_regs_regs_2_sg2_itm; + reg [9:0] ACC1_slc_regs_regs_2_sg2_1_itm; + reg [9:0] ACC1_slc_regs_regs_2_sg2_2_itm; + reg [9:0] ACC1_slc_regs_regs_2_1_itm; + reg [9:0] ACC1_slc_regs_regs_2_1_1_itm; + reg [9:0] ACC1_slc_regs_regs_2_1_2_itm; + reg [9:0] reg_vout_rsc_mgc_out_stdreg_d_tmp; + wire [10:0] nl_reg_vout_rsc_mgc_out_stdreg_d_tmp; + reg [5:0] reg_vout_rsc_mgc_out_stdreg_d_tmp_2; + reg [9:0] reg_vout_rsc_mgc_out_stdreg_d_tmp_3; + wire [9:0] FRAME_acc_22_cse; + wire [10:0] nl_FRAME_acc_22_cse; + wire [10:0] FRAME_acc_5_psp_sva; + wire [11:0] nl_FRAME_acc_5_psp_sva; + wire [6:0] acc_imod_sva; + wire [8:0] nl_acc_imod_sva; + wire [13:0] ACC1_acc_itm; + wire [14:0] nl_ACC1_acc_itm; + wire [7:0] FRAME_acc_33_itm; + wire [8:0] nl_FRAME_acc_33_itm; + + + // Interconnect Declarations for Component Instantiations + assign vout_rsc_mgc_out_stdreg_d = {reg_vout_rsc_mgc_out_stdreg_d_tmp , (reg_vout_rsc_mgc_out_stdreg_d_tmp_3[9:6]) + , reg_vout_rsc_mgc_out_stdreg_d_tmp_2 , reg_vout_rsc_mgc_out_stdreg_d_tmp_3}; + assign nl_ACC1_acc_itm = conv_s2s_13_14(conv_s2s_12_13(conv_s2s_11_12(conv_s2s_10_11(vin_rsc_mgc_in_wire_d[79:70]) + + conv_s2s_10_11(vin_rsc_mgc_in_wire_d[89:80])) + conv_s2s_11_12(readslicef_12_11_1((conv_s2s_11_12({ACC1_slc_regs_regs_2_sg2_itm + , 1'b1}) + conv_s2s_11_12({ACC1_slc_regs_regs_2_sg2_1_itm , 1'b1}))))) + conv_s2s_12_13(conv_s2s_11_12(readslicef_12_11_1((conv_s2s_11_12({ACC1_slc_regs_regs_2_sg2_2_itm + , 1'b1}) + conv_s2s_11_12({(~ ACC1_slc_regs_regs_2_1_itm) , 1'b1})))) + conv_s2s_11_12(readslicef_12_11_1((conv_s2s_11_12({(~ + ACC1_slc_regs_regs_2_1_1_itm) , 1'b1}) + conv_s2s_11_12({(~ ACC1_slc_regs_regs_2_1_2_itm) + , 1'b1})))))) + conv_s2s_12_14(conv_s2s_11_12(conv_s2s_10_11(vin_rsc_mgc_in_wire_d[9:0]) + + conv_s2s_10_11(vin_rsc_mgc_in_wire_d[19:10])) + conv_s2s_11_12(conv_s2s_10_11(vin_rsc_mgc_in_wire_d[29:20]) + + conv_s2s_10_11(vin_rsc_mgc_in_wire_d[69:60]))); + assign ACC1_acc_itm = nl_ACC1_acc_itm[13:0]; + assign nl_FRAME_acc_22_cse = conv_u2s_9_11(conv_u2s_18_10(conv_u2u_4_9(ACC1_acc_itm[13:10]) + * 9'b10011)) + conv_s2s_6_10(conv_s2s_4_6(conv_u2s_3_4(conv_u2u_2_3(conv_u2u_1_2(ACC1_acc_itm[5]) + + conv_u2u_1_2(acc_imod_sva[4])) + conv_u2u_2_3(ACC1_acc_itm[9:8])) + conv_s2s_3_4(conv_s2s_2_3(acc_imod_sva[6:5]) + + conv_s2s_1_3(readslicef_5_1_4(((({(acc_imod_sva[4]) , 1'b0 , (acc_imod_sva[4]) + , 1'b0 , (acc_imod_sva[4])}) + conv_u2s_4_5(acc_imod_sva[3:0])) + ({(conv_s2u_2_3(acc_imod_sva[6:5]) + + conv_s2u_1_3(acc_imod_sva[6])) , (acc_imod_sva[6:5])})))))) + conv_u2s_4_6(ACC1_acc_itm[9:6])); + assign FRAME_acc_22_cse = nl_FRAME_acc_22_cse[9:0]; + assign nl_FRAME_acc_5_psp_sva = conv_u2u_10_11({(ACC1_acc_itm[13]) , (ACC1_acc_itm[13]) + , FRAME_acc_33_itm}) + conv_s2u_10_11(FRAME_acc_22_cse); + assign FRAME_acc_5_psp_sva = nl_FRAME_acc_5_psp_sva[10:0]; + assign nl_acc_imod_sva = (conv_s2s_6_7(conv_u2s_5_6(conv_u2u_4_5({(ACC1_acc_itm[7:6]) + , (ACC1_acc_itm[7:6])}) + conv_u2u_3_5({(conv_u2u_1_2(ACC1_acc_itm[9]) + conv_u2u_1_2(~ + (ACC1_acc_itm[13]))) , (ACC1_acc_itm[8])})) + conv_s2s_5_6({(ACC1_acc_itm[5]) + , 1'b0 , (ACC1_acc_itm[5]) , 1'b0 , (ACC1_acc_itm[5])})) + conv_u2s_6_7(conv_u2u_5_6({(~ + (ACC1_acc_itm[9:8])) , (~ (ACC1_acc_itm[12:10]))}) + conv_u2u_4_6(ACC1_acc_itm[4:1]))) + + 7'b1011111; + assign acc_imod_sva = nl_acc_imod_sva[6:0]; + assign nl_FRAME_acc_33_itm = conv_u2u_7_8({(ACC1_acc_itm[13]) , 1'b0 , (signext_5_1(ACC1_acc_itm[13]))}) + + conv_u2u_6_8({(ACC1_acc_itm[13]) , 1'b0 , (signext_4_1(ACC1_acc_itm[13]))}); + assign FRAME_acc_33_itm = nl_FRAME_acc_33_itm[7:0]; + always @(posedge clk or negedge arst_n) begin + if ( ~ arst_n ) begin + ACC1_slc_regs_regs_2_sg2_itm <= 10'b0; + ACC1_slc_regs_regs_2_sg2_1_itm <= 10'b0; + ACC1_slc_regs_regs_2_sg2_2_itm <= 10'b0; + ACC1_slc_regs_regs_2_1_itm <= 10'b0; + ACC1_slc_regs_regs_2_1_1_itm <= 10'b0; + ACC1_slc_regs_regs_2_1_2_itm <= 10'b0; + regs_regs_1_1_sva <= 30'b0; + regs_regs_1_sg2_sva <= 30'b0; + reg_vout_rsc_mgc_out_stdreg_d_tmp <= 10'b0; + reg_vout_rsc_mgc_out_stdreg_d_tmp_2 <= 6'b0; + reg_vout_rsc_mgc_out_stdreg_d_tmp_3 <= 10'b0; + end + else begin + if ( en ) begin + ACC1_slc_regs_regs_2_sg2_itm <= regs_regs_1_sg2_sva[9:0]; + ACC1_slc_regs_regs_2_sg2_1_itm <= regs_regs_1_sg2_sva[19:10]; + ACC1_slc_regs_regs_2_sg2_2_itm <= regs_regs_1_sg2_sva[29:20]; + ACC1_slc_regs_regs_2_1_itm <= regs_regs_1_1_sva[9:0]; + ACC1_slc_regs_regs_2_1_1_itm <= regs_regs_1_1_sva[19:10]; + ACC1_slc_regs_regs_2_1_2_itm <= regs_regs_1_1_sva[29:20]; + regs_regs_1_1_sva <= vin_rsc_mgc_in_wire_d[29:0]; + regs_regs_1_sg2_sva <= vin_rsc_mgc_in_wire_d[89:60]; + reg_vout_rsc_mgc_out_stdreg_d_tmp <= (({(ACC1_acc_itm[13]) , (ACC1_acc_itm[13]) + , FRAME_acc_33_itm}) + FRAME_acc_22_cse) | ({9'b0 , (FRAME_acc_5_psp_sva[10])}); + reg_vout_rsc_mgc_out_stdreg_d_tmp_2 <= (FRAME_acc_5_psp_sva[5:0]) | ({5'b0 + , (FRAME_acc_5_psp_sva[10])}); + reg_vout_rsc_mgc_out_stdreg_d_tmp_3 <= FRAME_acc_5_psp_sva[9:0]; + end + end + end + + function [10:0] readslicef_12_11_1; + input [11:0] vector; + reg [11:0] tmp; + begin + tmp = vector >> 1; + readslicef_12_11_1 = tmp[10:0]; + end + endfunction + + + function [0:0] readslicef_5_1_4; + input [4:0] vector; + reg [4:0] tmp; + begin + tmp = vector >> 4; + readslicef_5_1_4 = tmp[0:0]; + end + endfunction + + + function [4:0] signext_5_1; + input [0:0] vector; + begin + signext_5_1= {{4{vector[0]}}, vector}; + end + endfunction + + + function [3:0] signext_4_1; + input [0:0] vector; + begin + signext_4_1= {{3{vector[0]}}, vector}; + end + endfunction + + + function signed [13:0] conv_s2s_13_14 ; + input signed [12:0] vector ; + begin + conv_s2s_13_14 = {vector[12], vector}; + end + endfunction + + + function signed [12:0] conv_s2s_12_13 ; + input signed [11:0] vector ; + begin + conv_s2s_12_13 = {vector[11], vector}; + end + endfunction + + + function signed [11:0] conv_s2s_11_12 ; + input signed [10:0] vector ; + begin + conv_s2s_11_12 = {vector[10], vector}; + end + endfunction + + + function signed [10:0] conv_s2s_10_11 ; + input signed [9:0] vector ; + begin + conv_s2s_10_11 = {vector[9], vector}; + end + endfunction + + + function signed [13:0] conv_s2s_12_14 ; + input signed [11:0] vector ; + begin + conv_s2s_12_14 = {{2{vector[11]}}, vector}; + end + endfunction + + + function signed [10:0] conv_u2s_9_11 ; + input [8:0] vector ; + begin + conv_u2s_9_11 = {{2{1'b0}}, vector}; + end + endfunction + + + function signed [9:0] conv_u2s_18_10 ; + input [17:0] vector ; + begin + conv_u2s_18_10 = vector[9:0]; + end + endfunction + + + function [8:0] conv_u2u_4_9 ; + input [3:0] vector ; + begin + conv_u2u_4_9 = {{5{1'b0}}, vector}; + end + endfunction + + + function signed [9:0] conv_s2s_6_10 ; + input signed [5:0] vector ; + begin + conv_s2s_6_10 = {{4{vector[5]}}, vector}; + end + endfunction + + + function signed [5:0] conv_s2s_4_6 ; + input signed [3:0] vector ; + begin + conv_s2s_4_6 = {{2{vector[3]}}, vector}; + end + endfunction + + + function signed [3:0] conv_u2s_3_4 ; + input [2:0] vector ; + begin + conv_u2s_3_4 = {1'b0, vector}; + end + endfunction + + + function [2:0] conv_u2u_2_3 ; + input [1:0] vector ; + begin + conv_u2u_2_3 = {1'b0, vector}; + end + endfunction + + + function [1:0] conv_u2u_1_2 ; + input [0:0] vector ; + begin + conv_u2u_1_2 = {1'b0, vector}; + end + endfunction + + + function signed [3:0] conv_s2s_3_4 ; + input signed [2:0] vector ; + begin + conv_s2s_3_4 = {vector[2], vector}; + end + endfunction + + + function signed [2:0] conv_s2s_2_3 ; + input signed [1:0] vector ; + begin + conv_s2s_2_3 = {vector[1], vector}; + end + endfunction + + + function signed [2:0] conv_s2s_1_3 ; + input signed [0:0] vector ; + begin + conv_s2s_1_3 = {{2{vector[0]}}, vector}; + end + endfunction + + + function signed [4:0] conv_u2s_4_5 ; + input [3:0] vector ; + begin + conv_u2s_4_5 = {1'b0, vector}; + end + endfunction + + + function [2:0] conv_s2u_2_3 ; + input signed [1:0] vector ; + begin + conv_s2u_2_3 = {vector[1], vector}; + end + endfunction + + + function [2:0] conv_s2u_1_3 ; + input signed [0:0] vector ; + begin + conv_s2u_1_3 = {{2{vector[0]}}, vector}; + end + endfunction + + + function signed [5:0] conv_u2s_4_6 ; + input [3:0] vector ; + begin + conv_u2s_4_6 = {{2{1'b0}}, vector}; + end + endfunction + + + function [10:0] conv_u2u_10_11 ; + input [9:0] vector ; + begin + conv_u2u_10_11 = {1'b0, vector}; + end + endfunction + + + function [10:0] conv_s2u_10_11 ; + input signed [9:0] vector ; + begin + conv_s2u_10_11 = {vector[9], vector}; + end + endfunction + + + function signed [6:0] conv_s2s_6_7 ; + input signed [5:0] vector ; + begin + conv_s2s_6_7 = {vector[5], vector}; + end + endfunction + + + function signed [5:0] conv_u2s_5_6 ; + input [4:0] vector ; + begin + conv_u2s_5_6 = {1'b0, vector}; + end + endfunction + + + function [4:0] conv_u2u_4_5 ; + input [3:0] vector ; + begin + conv_u2u_4_5 = {1'b0, vector}; + end + endfunction + + + function [4:0] conv_u2u_3_5 ; + input [2:0] vector ; + begin + conv_u2u_3_5 = {{2{1'b0}}, vector}; + end + endfunction + + + function signed [5:0] conv_s2s_5_6 ; + input signed [4:0] vector ; + begin + conv_s2s_5_6 = {vector[4], vector}; + end + endfunction + + + function signed [6:0] conv_u2s_6_7 ; + input [5:0] vector ; + begin + conv_u2s_6_7 = {1'b0, vector}; + end + endfunction + + + function [5:0] conv_u2u_5_6 ; + input [4:0] vector ; + begin + conv_u2u_5_6 = {1'b0, vector}; + end + endfunction + + + function [5:0] conv_u2u_4_6 ; + input [3:0] vector ; + begin + conv_u2u_4_6 = {{2{1'b0}}, vector}; + end + endfunction + + + function [7:0] conv_u2u_7_8 ; + input [6:0] vector ; + begin + conv_u2u_7_8 = {1'b0, vector}; + end + endfunction + + + function [7:0] conv_u2u_6_8 ; + input [5:0] vector ; + begin + conv_u2u_6_8 = {{2{1'b0}}, vector}; + end + endfunction + +endmodule + +// ------------------------------------------------------------------ +// Design Unit: sobel +// Generated from file(s): +// 7) $PROJECT_HOME/sobel.cpp +// ------------------------------------------------------------------ + + +module sobel ( + vin_rsc_z, vout_rsc_z, clk, en, arst_n +); + input [89:0] vin_rsc_z; + output [29:0] vout_rsc_z; + input clk; + input en; + input arst_n; + + + // Interconnect Declarations + wire [89:0] vin_rsc_mgc_in_wire_d; + wire [29:0] vout_rsc_mgc_out_stdreg_d; + + + // Interconnect Declarations for Component Instantiations + mgc_in_wire #(.rscid(1), + .width(90)) vin_rsc_mgc_in_wire ( + .d(vin_rsc_mgc_in_wire_d), + .z(vin_rsc_z) + ); + mgc_out_stdreg #(.rscid(2), + .width(30)) vout_rsc_mgc_out_stdreg ( + .d(vout_rsc_mgc_out_stdreg_d), + .z(vout_rsc_z) + ); + sobel_core sobel_core_inst ( + .clk(clk), + .en(en), + .arst_n(arst_n), + .vin_rsc_mgc_in_wire_d(vin_rsc_mgc_in_wire_d), + .vout_rsc_mgc_out_stdreg_d(vout_rsc_mgc_out_stdreg_d) + ); +endmodule + + + |