2021-10-17 21:35:15 索炜达电子 1419
项目编号:E1552
文件大小:54M
源码说明:带中文注释
开发环境:VHDL
简要概述:
在本项目中,我们在FPGA中实现了FIR滤波器协处理器(Arty7 xc7a35tcsg324-1),以及输入/输出数据存储和传输协议。特别是,我们使用IPbus协议与FPGA板和DPRAM组件进行通信,作为存储源。我们在几个输入波形上测试了滤波器的硬件实现,并将结果与通过Python仿真获得的结果进行了比较。
文件夹的内容
代码:包含项目所有源代码的文件夹
固件:FPGA固件的所有代码;
软件:通过uhal访问FPGA内存寄存器的一些脚本;
分析:在FPGA上编写数据进行滤波和读取滤波数据的笔记本;
报告:包含项目报告的文件夹,还包括.tex源文件。
目录│文件列表:
└ MAPD-A-Project-IPBUS-Filter-main
│ wavedrom.png
├ code
│ ├ analysis
│ │ │ coefficients.ipynb
│ │ │ fir.ipynb
│ │ │ FIR_filter_freq_analysis.pdf
│ │ │ sine.pdf
│ │ │ square.pdf
│ │ └ util.txt
│ ├ firmware
│ │ │ final_ex.xpr
│ │ ├ final_ex.cache
│ │ │ └ wt
│ │ │ │ gui_handlers.wdf
│ │ │ │ java_command_handlers.wdf
│ │ │ │ project.wpc
│ │ │ │ synthesis.wdf
│ │ │ │ synthesis_details.wdf
│ │ │ │ webtalk_pa.xml
│ │ │ └ xsim.wdf
│ │ ├ final_ex.hw
│ │ │ │ final_ex.lpr
│ │ │ │ Lab9.lpr
│ │ │ └ hw_1
│ │ │ │ hw.xml
│ │ │ └ layout
│ │ │ └ hw_vios.layout
│ │ ├ final_ex.ip_user_files
│ │ │ │ README.txt
│ │ │ ├ ip
│ │ │ │ ├ tri_mode_ethernet_mac_0_2
│ │ │ │ │ │ tri_mode_ethernet_mac_0.veo
│ │ │ │ │ │ tri_mode_ethernet_mac_0.vho
│ │ │ │ │ │ tri_mode_ethernet_mac_0_sim_netlist.v
│ │ │ │ │ │ tri_mode_ethernet_mac_0_sim_netlist.vhdl
│ │ │ │ │ │ tri_mode_ethernet_mac_0_stub.v
│ │ │ │ │ │ tri_mode_ethernet_mac_0_stub.vhdl
│ │ │ │ │ ├ hdl
│ │ │ │ │ │ └ avb
│ │ │ │ │ │ └ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ └ synth
│ │ │ │ │ │ tri_mode_ethernet_mac_0.vhd
│ │ │ │ │ │ tri_mode_ethernet_mac_0_block.vhd
│ │ │ │ │ └ physical
│ │ │ │ │ └ tri_mode_ethernet_mac_0_mii_if.vhd
│ │ │ │ └ vio_dpram
│ │ │ │ │ vio_dpram.veo
│ │ │ │ │ vio_dpram.vho
│ │ │ │ │ vio_dpram_stub.v
│ │ │ │ └ vio_dpram_stub.vhdl
│ │ │ ├ ipstatic
│ │ │ │ └ hdl
│ │ │ │ │ axi_lite_ipif_v3_0_vh_rfs.vhd
│ │ │ │ │ mult_gen_v12_0_vh_rfs.vhd
│ │ │ │ │ tri_mode_ethernet_mac_v9_0_rfs.v
│ │ │ │ │ tri_mode_ethernet_mac_v9_0_rfs.vhd
│ │ │ │ │ xbip_bram18k_v3_0_vh_rfs.vhd
│ │ │ │ │ xbip_pipe_v3_0_vh_rfs.vhd
│ │ │ │ └ xbip_utils_v3_0_vh_rfs.vhd
│ │ │ ├ mem_init_files
│ │ │ │ └ tx_ptp_pkt_buff_init.mem
│ │ │ └ sim_scripts
│ │ │ ├ tri_mode_ethernet_mac_0_2
│ │ │ │ │ README.txt
│ │ │ │ ├ activehdl
│ │ │ │ │ │ compile.do
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ simulate.do
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ │ tri_mode_ethernet_mac_0.udo
│ │ │ │ │ │ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ └ wave.do
│ │ │ │ ├ ies
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ run.f
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ └ tx_ptp_pkt_buff_init.mem
│ │ │ │ ├ modelsim
│ │ │ │ │ │ compile.do
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ simulate.do
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ │ tri_mode_ethernet_mac_0.udo
│ │ │ │ │ │ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ └ wave.do
│ │ │ │ ├ questa
│ │ │ │ │ │ compile.do
│ │ │ │ │ │ elaborate.do
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ simulate.do
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ │ tri_mode_ethernet_mac_0.udo
│ │ │ │ │ │ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ └ wave.do
│ │ │ │ ├ riviera
│ │ │ │ │ │ compile.do
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ simulate.do
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ │ tri_mode_ethernet_mac_0.udo
│ │ │ │ │ │ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ └ wave.do
│ │ │ │ ├ vcs
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ simulate.do
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ └ tx_ptp_pkt_buff_init.mem
│ │ │ │ ├ xcelium
│ │ │ │ │ │ file_info.txt
│ │ │ │ │ │ glbl.v
│ │ │ │ │ │ README.txt
│ │ │ │ │ │ run.f
│ │ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ └ tx_ptp_pkt_buff_init.mem
│ │ │ │ └ xsim
│ │ │ │ │ cmd.tcl
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ tri_mode_ethernet_mac_0.sh
│ │ │ │ │ tx_ptp_pkt_buff_init.mem
│ │ │ │ │ vhdl.prj
│ │ │ │ └ vlog.prj
│ │ │ └ vio_dpram
│ │ │ │ README.txt
│ │ │ ├ activehdl
│ │ │ │ │ compile.do
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ simulate.do
│ │ │ │ │ vio_dpram.sh
│ │ │ │ │ vio_dpram.udo
│ │ │ │ └ wave.do
│ │ │ ├ ies
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ run.f
│ │ │ │ └ vio_dpram.sh
│ │ │ ├ modelsim
│ │ │ │ │ compile.do
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ simulate.do
│ │ │ │ │ vio_dpram.sh
│ │ │ │ │ vio_dpram.udo
│ │ │ │ └ wave.do
│ │ │ ├ questa
│ │ │ │ │ compile.do
│ │ │ │ │ elaborate.do
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ simulate.do
│ │ │ │ │ vio_dpram.sh
│ │ │ │ │ vio_dpram.udo
│ │ │ │ └ wave.do
│ │ │ ├ riviera
│ │ │ │ │ compile.do
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ simulate.do
│ │ │ │ │ vio_dpram.sh
│ │ │ │ │ vio_dpram.udo
│ │ │ │ └ wave.do
│ │ │ ├ vcs
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ simulate.do
│ │ │ │ └ vio_dpram.sh
│ │ │ ├ xcelium
│ │ │ │ │ file_info.txt
│ │ │ │ │ glbl.v
│ │ │ │ │ README.txt
│ │ │ │ │ run.f
│ │ │ │ └ vio_dpram.sh
│ │ │ └ xsim
│ │ │ │ cmd.tcl
│ │ │ │ file_info.txt
│ │ │ │ README.txt
│ │ │ │ vhdl.prj
│ │ │ └ vio_dpram.sh
│ │ ├ final_ex.runs
│ │ │ ├ .jobs
│ │ │ │ │ vrs_config_1.xml
│ │ │ │ │ vrs_config_10.xml
│ │ │ │ │ vrs_config_100.xml
│ │ │ │ │ vrs_config_101.xml
│ │ │ │ │ vrs_config_102.xml
│ │ │ │ │ vrs_config_103.xml