极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E445】用VerilogHDL在Virtex-7 FPGA上實現(xiàn)CNN加速

2021-08-22 18:09:47      索煒達電子      884     

項目編號:E445

文件大?。?.8M

源碼說明:帶中文注釋

開發(fā)環(huán)境:Verilog

簡要概述:

重點是FPGA上的卷積網(wǎng)絡(luò)推理加速。

該項目采用ISE 14.7軟件和vertix-7 FPGA構(gòu)建。它使用某些加速策略執(zhí)行7層網(wǎng)絡(luò)正向計算。首先,使用MatConvNet在MSTAR數(shù)據(jù)集上訓(xùn)練SAR目標分類網(wǎng)絡(luò),并使用早期停止。然后,使用Matlab生成的COE文件將權(quán)重和輸入轉(zhuǎn)換為FPGA。接下來,設(shè)計本地verilog編寫的模型來實現(xiàn)正向計算。系統(tǒng)使用16位定點數(shù)據(jù)來保持精度。結(jié)果證明,它的成本低于每幅圖像1ms,優(yōu)于其他計算平臺。

加快

為了在FPGA資源和速度之間進行權(quán)衡,第一轉(zhuǎn)換層使用移位寄存器結(jié)構(gòu)進行加速,考慮到第一轉(zhuǎn)換層中的輸入和權(quán)重的大小更大。其他轉(zhuǎn)換層僅使用管線結(jié)構(gòu)。請注意,有18個文件以m_conv_1命名,表示第一個conv.層中有18個移位寄存器。

由于帶寬的限制,第二轉(zhuǎn)換層采用信道分組并行化方案。我使用v7-415t和v7-485t FPGA進行比較,它們根據(jù)不同的資源量使用不同的組號(4對1)。您可能會注意到文件CNN_top.v中的方案,其中的信號“ram_ready”控制通道分組和合并。


目錄│文件列表:

 └ convolution_network_on_FPGA

    ├ v7-415t_0.5ms

    │  │ clk_div.v

    │  │ CNN_top.v

    │  │ conv_adder18.v

    │  │ conv_adder36.v

    │  │ k2_out.v

    │  │ k3_out.v

    │  │ max_output.v

    │  │ m_conv_1_1.v

    │  │ m_conv_1_10.v

    │  │ m_conv_1_11.v

    │  │ m_conv_1_12.v

    │  │ m_conv_1_13.v

    │  │ m_conv_1_14.v

    │  │ m_conv_1_15.v

    │  │ m_conv_1_16.v

    │  │ m_conv_1_17.v

    │  │ m_conv_1_18.v

    │  │ m_conv_1_2.v

    │  │ m_conv_1_3.v

    │  │ m_conv_1_4.v

    │  │ m_conv_1_5.v

    │  │ m_conv_1_6.v

    │  │ m_conv_1_7.v

    │  │ m_conv_1_8.v

    │  │ m_conv_1_9.v

    │  │ m_conv_3.v

    │  │ m_conv_5.v

    │  │ m_fc.v

    │  │ m_layer_input_0.v

    │  │ m_layer_input_1.v

    │  │ m_layer_input_2.v

    │  │ m_layer_input_3.v

    │  │ m_layer_input_4.v

    │  │ m_layer_input_5.v

    │  │ m_max_relu_2.v

    │  │ m_max_relu_4.v

    │  └ tb.v

    ├ v7-485t_0.3ms

    │  │ clk_div.v

    │  │ CNN_top.v

    │  │ conv_adder18.v

    │  │ conv_adder36.v

    │  │ k2_out.v

    │  │ k3_out.v

    │  │ max_output.v

    │  │ m_conv_1_1.v

    │  │ m_conv_1_10.v

    │  │ m_conv_1_11.v

    │  │ m_conv_1_12.v

    │  │ m_conv_1_13.v

    │  │ m_conv_1_14.v

    │  │ m_conv_1_15.v

    │  │ m_conv_1_16.v

    │  │ m_conv_1_17.v

    │  │ m_conv_1_18.v

    │  │ m_conv_1_2.v

    │  │ m_conv_1_3.v

    │  │ m_conv_1_4.v

    │  │ m_conv_1_5.v

    │  │ m_conv_1_6.v

    │  │ m_conv_1_7.v

    │  │ m_conv_1_8.v

    │  │ m_conv_1_9.v

    │  │ m_conv_3.v

    │  │ m_conv_5.v

    │  │ m_fc.v

    │  │ m_layer_input_0.v

    │  │ m_layer_input_1.v

    │  │ m_layer_input_2.v

    │  │ m_layer_input_3.v

    │  │ m_layer_input_4.v

    │  │ m_layer_input_5.v

    │  │ m_max_relu_2.v

    │  │ m_max_relu_4.v

    │  └ tb.v

    └ validation_with_matlab

       │ conv_ff.m

       │ fc.coe

       │ generate_fc.m

       │ generate_k1.m

       │ generate_k2.m

       │ generate_k3.m

       │ hb03417-2.jpeg

       │ hb03440-5.jpeg

       │ hb14939-7.jpeg

       │ hb14969-1.jpeg

       │ hb14975-9.jpeg

       │ hb15043-7.jpeg

       │ image.coe

       │ image_coe.m

       │ imrecog.m

       │ ind_conv2_in.coe

       │ ind_conv_in.coe

       │ ind_layer2.coe

       │ ind_out.m

       │ lianghua_16.m

       │ m_conv2.m

       │ m_maxpool.m

       │ m_relu.m

       │ m_softmax.m

       │ net-epoch-73.mat

       │ testbench.m

       │ vectorize.m

       │ vectorize2.m

       ├ k2

       │  │ kernel2_1.coe

       │  │ kernel2_10.coe

       │  │ kernel2_11.coe

       │  │ kernel2_12.coe

       │  │ kernel2_13.coe

       │  │ kernel2_14.coe

       │  │ kernel2_15.coe

       │  │ kernel2_16.coe

       │  │ kernel2_17.coe

       │  │ kernel2_18.coe

       │  │ kernel2_2.coe

       │  │ kernel2_3.coe

       │  │ kernel2_4.coe

       │  │ kernel2_5.coe

       │  │ kernel2_6.coe

       │  │ kernel2_7.coe

       │  │ kernel2_8.coe

       │  └ kernel2_9.coe

       └ k3

          │ kernel3_1.coe

          │ kernel3_10.coe

          │ kernel3_11.coe

          │ kernel3_12.coe

          │ kernel3_13.coe

          │ kernel3_14.coe

          │ kernel3_15.coe

          │ kernel3_16.coe

          │ kernel3_17.coe

          │ kernel3_18.coe

          │ kernel3_19.coe

          │ kernel3_2.coe

          │ kernel3_20.coe

          │ kernel3_21.coe

          │ kernel3_22.coe

          │ kernel3_23.coe

          │ kernel3_24.coe

          │ kernel3_25.coe

          │ kernel3_26.coe

          │ kernel3_27.coe

          │ kernel3_28.coe

          │ kernel3_29.coe

          │ kernel3_3.coe

          │ kernel3_30.coe

          │ kernel3_31.coe

          │ kernel3_32.coe

          │ kernel3_33.coe

          │ kernel3_34.coe

          │ kernel3_35.coe

          │ kernel3_36.coe

          │ kernel3_4.coe

          │ kernel3_5.coe

          │ kernel3_6.coe

          │ kernel3_7.coe

          │ kernel3_8.coe

          └ kernel3_9.coe

TAGCNN加速
  • 10 次
  • 1 分