fir_prj.rar
(1.19 KB)
3 设计实现字数限制,完整源码及完整**下载技术交流群:97925396
1.1 顶层接口新建目录:D:\mdy_book\fir_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位信号。下面表格表示了硬件电路图的连接关系。 将module的名称定义为fir_prj,代码如下: | module fir_prj( clk , rst_n , key , dac_mode , dac_sleep , dac_clka , dac_da , dac_wra , dac_clkb , dac_db , dac_wrb ); |
其中clk、rst_n是1位的输入信号,dac_da和dac_db是8位的输出信号,key是3位输入信号,dac_mode,dac_clka,dac_wra,dac_sleep,dac_clkb,dac_wrb是一位输出信号。 | input clk ; input rst_n ; input [ 3-1:0] key ; output dac_mode ; output dac_clka ; output [ 8-1:0] dac_da ; output dac_wra ; output dac_sleep ; output dac_clkb ; output [ 8-1:0] dac_db ; output dac_wrb ; |
|