2021-10-17 21:35:15 索煒達(dá)電子 1418
項(xiàng)目編號(hào):E1552
文件大小:54M
源碼說(shuō)明:帶中文注釋
開(kāi)發(fā)環(huán)境:VHDL
簡(jiǎn)要概述:
在本項(xiàng)目中,我們?cè)贔PGA中實(shí)現(xiàn)了FIR濾波器協(xié)處理器(Arty7 xc7a35tcsg324-1),以及輸入/輸出數(shù)據(jù)存儲(chǔ)和傳輸協(xié)議。特別是,我們使用IPbus協(xié)議與FPGA板和DPRAM組件進(jìn)行通信,作為存儲(chǔ)源。我們?cè)趲讉€(gè)輸入波形上測(cè)試了濾波器的硬件實(shí)現(xiàn),并將結(jié)果與通過(guò)Python仿真獲得的結(jié)果進(jìn)行了比較。
文件夾的內(nèi)容
代碼:包含項(xiàng)目所有源代碼的文件夾
固件:FPGA固件的所有代碼;
軟件:通過(guò)uhal訪問(wèn)FPGA內(nèi)存寄存器的一些腳本;
分析:在FPGA上編寫(xiě)數(shù)據(jù)進(jìn)行濾波和讀取濾波數(shù)據(jù)的筆記本;
報(bào)告:包含項(xiàng)目報(bào)告的文件夾,還包括.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