基于fpga的FIR滤波器设计(附上源码代码下载)
2020-01-30 16:56发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
fir_prj.rar
(1.19 KB, 下载次数: 20)
2018-11-16 16:03 上传
点击文件名下载附件
3 设计实现字数限制,完整源码及完整文章下载技术交流群:97925396
1.1 顶层接口新建目录:D:mdy_bookfir_prj。在该目录中,新建一个名为fir_prj.v的文件,并用GVIM打开,开始编写代码。 我们要实现的功能,概括起来就是FPGA产生控制AD9709,让其中的通道A未滤波的正弦信号,让通道B输出滤波后的正弦信号。为了控制AD9709的工作模式,就要控制AD9709的MODE、SLEEP管脚;为了控制通道A,就需要控制AD9729的CLK1、WRT1、DB7~0P1管脚;为了控制通道B,就需要控制AD9729的CLK2、WRT2、DB7~0P2管脚。根据设计目标的要求,整个工程需要以下信号:1. 使用clk连接到晶振,表示50M时钟的输入。2. 使用rst_n连接到按键,表示复位信号。3. 使用3位信号key,表示三位拨码开关。4. 使用dac_mode信号连接到AD9709的MODE管脚,用来控制其工作模式。5. 使用dac_sleep信号连接到AD9709的SLEEP管脚,用来控制其睡眠模式。6. 使用dac_clka信号连接到AD9709的CLK1管脚,用来控制通道A的时钟。7. 使用dac_wra信号连接到AD9709的WRT1管脚,用来控制通道A的写使能。8. 使用8位信号dac_da连接到AD9709的DB7~0P1管脚,用来控制通道A的写数据。9. 使用dac_clkb号连接到AD9709的CLK2脚,用来控制通道B时钟。10. 使用dac_wrb号连接到AD9709的WRT2脚,用来控制通道B使能。11. 使用8位信号dac_db接到AD9709的DB7~0P2脚,用来控制通道B写数据。 综上所述,我们这个工程需要11个信号,时钟clk,复位rst_n,拨码开关的输入key,dac_mode、dac_sleep、dac_clka、dac_wra、dac_da、dac_clkb、dac_wrb和dac_db信号,其中dac_da和dac_db是8位信号,其他都是1位信号。下面表格表示了硬件电路图的连接关系。 器件AD9709管脚原理图信号FPGA管脚FPGA工程信号U8MODEDAC_MODEY4dac_modeSLEEPDAC_SLEEPH2dac_sleepCLK1DA_CLKAR2dac_clkaWRT1DA_WRAU1dac_wraDB7P1DAC_DA7AA1dac_da[7]DB6P1DAC_DA6Y2dac_da[6]DB5P1DAC_DA5Y1dac_da[5]DB4P1DAC_DA4W2dac_da[4]DB3P1DAC_DA3W1dac_da[3]DB2P1DAC_DA2V2dac_da[2]DB1P1DAC_DA1V1dac_da[1]DB0P1DAC_DA0U2dac_da[0]CLK2DA_CLKBR1dac_clkbWRT2DA_WRBP2dac_wrbDB7P2DAC_DB7P1dac_db[7]DB6P2DAC_DB6N2dac_db[6]DB5P2DAC_DB5N1dac_db[5]DB4P2DAC_DB4M2dac_db[4]DB3P2DAC_DB3M1dac_db[3]DB2P2DAC_DB2J1dac_db[2]DB1P2DAC_DB1J2dac_db[1]DB0P2DAC_DB0H1dac_db[0]X1 SYS_CLKG1clkK1 SYS_RSTAB12rst_n
一周热门 更多>