【E439】使用FPGA Vivido根据数字的图像特征给数字加边界(识别数字大小)

2021-08-22 17:39:46      索炜达电子      654     

项目编号:E439

文件大小:22M

源码说明:带中文注释

开发环境:vivido

简要概述:

使用FPGA vivido根据数字的图像特征给数字加边界,并识别数字大小

【E439】使用FPGA Vivido根据数字的图像特征给数字加边界(识别数字大小)

参考教程

该工程的识别原理和代码讲解可以参考基于FPGA的数字识别实现,同时感谢这位博主的分享教程。该工程也是参考这位博主的教程完成的。

文件夹说明

  • digital_identify文件夹为vivido工程文件夹

  • imgs文件夹包含工程中使用到的640*480的0~9源图片、仿真结果、加边界后的数字图片,以及上板测试的结果。

  • matlab文件夹包含了将图片转为数字文件、显示加边界后的数字文件用到的matlab代码。

工程说明

  • digital_identify模块为顶层模块-

  • serial_data_gen模块实现数据的读入,使用rom IP核初始化matlab生成的.coe数据文件

  • edge_check模块实现查找数字边界值

  • edge_disp模块实现输出加边界后的数据

  • num_recog模块实现数字的识别

运行环境说明

  1. 软件环境 vivido 2018.3 matlab 2018b

  2. 硬件环境 zynq xc7z020clg400-2


目录│文件列表:

 └ fpga-digital-recognition

    ├ digital_identify

    │  │ digital_identify.xpr

    │  │ vivado.jou

    │  │ vivado.log

    │  ├ digital_identify.cache

    │  │  └ wt

    │  │     │ gui_handlers.wdf

    │  │     │ java_command_handlers.wdf

    │  │     │ project.wpc

    │  │     │ webtalk_pa.xml

    │  │     └ xsim.wdf

    │  ├ digital_identify.hw

    │  │  │ digital_identify.lpr

    │  │  └ hw_1

    │  │     └ hw.xml

    │  ├ digital_identify.ip_user_files

    │  │  │ README.txt

    │  │  ├ ip

    │  │  │  └ rom

    │  │  │     │ rom.veo

    │  │  │     └ rom.vho

    │  │  ├ ipstatic

    │  │  │  └ simulation

    │  │  │     └ blk_mem_gen_v8_4.v

    │  │  ├ mem_init_files

    │  │  │  │ num_data.coe

    │  │  │  │ num_data0.coe

    │  │  │  │ num_data1.coe

    │  │  │  │ num_data2.coe

    │  │  │  │ num_data3.coe

    │  │  │  │ num_data5.coe

    │  │  │  │ num_data8.coe

    │  │  │  │ rom.mif

    │  │  │  └ summary.log

    │  │  └ sim_scripts

    │  │     └ rom

    │  │        │ README.txt

    │  │        ├ activehdl

    │  │        │  │ compile.do

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ rom.udo

    │  │        │  │ simulate.do

    │  │        │  │ summary.log

    │  │        │  └ wave.do

    │  │        ├ ies

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ run.f

    │  │        │  └ summary.log

    │  │        ├ modelsim

    │  │        │  │ compile.do

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ rom.udo

    │  │        │  │ simulate.do

    │  │        │  │ summary.log

    │  │        │  └ wave.do

    │  │        ├ questa

    │  │        │  │ compile.do

    │  │        │  │ elaborate.do

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ rom.udo

    │  │        │  │ simulate.do

    │  │        │  │ summary.log

    │  │        │  └ wave.do

    │  │        ├ riviera

    │  │        │  │ compile.do

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ rom.udo

    │  │        │  │ simulate.do

    │  │        │  │ summary.log

    │  │        │  └ wave.do

    │  │        ├ vcs

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │        │  │ rom.sh

    │  │        │  │ simulate.do

    │  │        │  └ summary.log

    │  │        ├ xcelium

    │  │        │  │ file_info.txt

    │  │        │  │ glbl.v

    │  │        │  │ num_data5.coe

    │  │        │  │ README.txt

    │  │        │  │ rom.mif

    │  │           │ xsim.ini.bak

    │  │           │ xvlog.log

    │  │           │ xvlog.pb

    │  │           └ xsim.dir

    │  │              ├ rom_test_tb_behav

    │  │              │  │ Compile_Options.txt

    │  │              │  │ TempBreakPointFile.txt

    │  │              │  │ xsim.dbg

    │  │              │  │ xsim.mem

    │  │              │  │ xsim.reloc

    │  │              │  │ xsim.rlx

    │  │              │  │ xsim.rtti

    │  │              │  │ xsim.svtype

    │  │              │  │ xsim.type

    │  │              │  │ xsim.xdbg

    │  │              │  │ xsimcrash.log

    │  │              │  │ xsimk.exe

    │  │              │  │ xsimkernel.log

    │  │              │  │ xsimSettings.ini

    │  │              │  ├ obj

    │  │              │  │  │ xsim_0.win64.obj

    │  │              │  │  │ xsim_1.c

    │  │              │  │  └ xsim_1.win64.obj

    │  │              │  └ webtalk

    │  │              │     │ .xsim_webtallk.info

    │  │              │     │ usage_statistics_ext_xsim.html

    │  │              │     │ usage_statistics_ext_xsim.wdm

    │  │              │     │ usage_statistics_ext_xsim.xml

    │  │              │     └ xsim_webtalk.tcl

    │  │              ├ top_tb_behav

    │  │              │  │ Compile_Options.txt

    │  │              │  │ TempBreakPointFile.txt

    │  │              │  │ xsim.dbg

    │  │              │  │ xsim.mem

    │  │              │  │ xsim.reloc

    │  │              │  │ xsim.rlx

    │  │              │  │ xsim.rtti

    │  │              │  │ xsim.svtype

    │  │              │  │ xsim.type

    │  │              │  │ xsim.xdbg

    │  │              │  │ xsimcrash.log

    │  │              │  │ xsimk.exe

    │  │              │  │ xsimkernel.log

    │  │              │  │ xsimSettings.ini

    │  │              │  ├ obj

    │  │              │  │  │ xsim_0.win64.obj

    │  │              │  │  │ xsim_1.c

    │  │              │  │  └ xsim_1.win64.obj

    │  │              │  └ webtalk

    │  │              │     │ .xsim_webtallk.info

    │  │              │     │ usage_statistics_ext_xsim.html

    │  │              │     │ usage_statistics_ext_xsim.wdm

    │  │              │     │ usage_statistics_ext_xsim.xml

    │  │              │     └ xsim_webtalk.tcl

    │  │              └ xil_defaultlib

    │  │                 │ digital_identify.sdb

    │  │                 │ edge_check.sdb

    │  │                 │ edge_disp.sdb

    │  │                 │ glbl.sdb

    │  │                 │ num_recog.sdb

    │  │                 │ rom.sdb

    │  │                 │ rom_test_tb.sdb

    │  │                 │ serial_data_gen.sdb

    │  │                 │ top_tb.sdb

    │  │                 └ xil_defaultlib.rlx

    │  └ digital_identify.srcs

    │     ├ constrs_1

    │     │  └ new

    │     │     └ system.xdc

    │     ├ sim_1

    │     │  └ new

    │     │     │ rom_test_tb.v

    │     │     └ top_tb.v

    │     └ sources_1

    │        ├ ip

    │        │  └ rom

    │        │     │ rom.dcp

    │        │     │ rom.mif

    │        │     │ rom.veo

    │        │     │ rom.vho

    │        │     │ rom.xci

    │        │     │ rom.xml

    │        │     │ rom_ooc.xdc

    │        │     │ rom_sim_netlist.v

    │        │     │ rom_sim_netlist.vhdl

    │        │     │ rom_stub.v

    │        │     │ rom_stub.vhdl

    │        │     │ summary.log

    │        │     ├ doc

    │        │     │  └ blk_mem_gen_v8_4_changelog.txt

    │        │     ├ hdl

    │        │     │  └ blk_mem_gen_v8_4_vhsyn_rfs.vhd

    │        │     ├ misc

    │        │     │  └ blk_mem_gen_v8_4.vhd

    │        │     ├ sim

    │        │     │  └ rom.v

    │        │     ├ simulation

    │        │     │  └ blk_mem_gen_v8_4.v

    │        │     └ synth

    │        │        └ rom.vhd

    │        └ new

    │           │ digital_identify.v

    │           │ edge_check.v

    │           │ edge_disp.v

    │           │ num_recog.v

    │           └ serial_data_gen.v

    ├ imgs

    │  │ 0.png

    │  │ 1.png

    │  │ 2.png

    │  │ 3.png

    │  │ 4.png

    │  │ 5.png

    │  │ 6.png

    │  │ 7.png

    │  │ 8.png

    │  │ 9.png

    │  │ 上板测试结果.jpg

    │  └ 仿真结果和加边界图片.docx

    └ matlab

       │ numRecognition.m

       └ showimg.m

TAGVivido
  • 6 次
  • 1 分