新手入门
- 积分
- 9
- 金钱
- 9
- 注册时间
- 2023-5-20
- 在线时间
- 2 小时
|
楼主 |
发表于 2023-7-29 18:54:53
|
显示全部楼层
- module FIR(
- input sys_clk , //系统时钟
- input sys_rst_n , //系统复位,低电平有效
- //AD芯片接口
- input [7:0] ad_data , //AD输入数据
- //模拟输入电压超出量程标志(本次试验未用到)
- input ad_otr , //0:在量程范围 1:超出量程
- output ad_clk , //AD(AD9280)驱动时钟,最大支持32Mhz时钟
- //DA芯片接口
- output da_clk , //DA(AD9708)驱动时钟,最大支持125Mhz时钟
- output [7:0] da_data , //输出给DA的数据
- output test
- );
- assign test = sys_clk;
- //pll实例化
- pll u_pll(
- .areset(~sys_rst_n),
- .inclk0(sys_clk),
- .c0(ad_clk),
- .c1(da_clk)
- );
- //
- //AD数据接收
- //FIR滤波器实例化
- wire [1:0] ast_sink_error;
- wire ast_sink_valid;
- wire [26:0] ast_source_data;
- wire [8:0] ast_sink_data;
- assign ast_sink_error = 2'b00;//输入无错误
- assign ast_sink_valid = 1'b1;//输入有效
- //assign ast_sink_data = {1'b0,ad_data[7:0]};
- assign ast_sink_data = {1'b1,~ad_data[7],ad_data[6:0]};
- fir u_fir(
- .clk (ad_clk), // clk.clk
- .reset_n (sys_rst_n), // rst.reset_n
- .ast_sink_data (ast_sink_data), // avalon_streaming_sink.data
- .ast_sink_valid (ast_sink_valid), // .valid
- .ast_sink_error (ast_sink_error), // .error
-
- .ast_source_data (ast_source_data), // avalon_streaming_source.data
- .ast_source_valid (), // .valid
- .ast_source_error () // .error
- );
- //DA数据发送
- //assign ast_source_data[26] = ~ast_source_data[26];
- assign da_data = {~ast_source_data[26],ast_source_data[25:19]};
- //always @(posedge sys_clk or negedge sys_rst_n) begin
- // if(!sys_rst_n) begin
- // da_data <= 8'b0;
- // end
- // else if(en_flag == 1'b1)
- // da_data <= data_in + 8'd128;
- //end
- endmodule
复制代码 |
|