首页 > 编程知识 正文

基于单片机的模拟量数据采集,基于fpga的数字滤波器的设计

时间:2023-05-05 16:05:24 阅读:149102 作者:447

文章目录概要tbmain波形图参考

过采样是指对输入信号进行采样,采样频率为输入信号最高频率的2倍以上。 FGA以clk0周期对输入信号data进行4次采样; 在clk的0度、90度、180度、270度的位置分别进行采样,4个周期后输出在clk0时钟域采样的并行数据;

为什么第四行的第一个触发器使用clk270时钟?

因为:

第一拍先实现270度位置采样;

在180度位置对第2拍270度采样的数据进行采样。 (0.75的建立时间0.25的保持时间);

第3拍180度位置采样数据,90度位置采样(0.75的设置时间0.25的保持时间);

第4拍为90位置采样数据,0位置采样(0.75设置时间0.25保持时间);

tb reg clk_ref=1; reg clk0=0; reg clk90=0; reg clk180=0; reg clk270=0; reg data; initialbeginforeverbeginclk _ ref=# 20至clk _ ref; endendinitialbeginforeverbegin @ (posedge clk _ ref; clk0=1; #1; clk0=0; endend initial begin #10; ForeverBegin@(Posedgeclk_ref; #10; clk90=1; #1; clk90=0; endendinitial begin #20; ForeverBegin@(Posedgeclk_ref; #20; clk180=1; #1; clk180=0; endendinitial begin #30; ForeverBegin@(Posedgeclk_ref; #30; clk270=1; #1; clk270=0; 结束初始begin data=0; #200; @ ) @(posedge clk270; #5; 数据=1; #200; 数据=0; #200; $stop (; endcdrU0_cdr(.clk_ref )、/inputclk0、 clk0、/inputclk0、 clk90 )、/inputclk0、 clk90 )//input clk270 main ` time scale1ns/100 psmodulecdr (input clk _ ref,input clk0,input clk90,input clk180,input clk270,input data ); reg [3:0] data_r0=0; //1级延迟reg [3:0] data_r1=0; //二级延迟reg [3:0] data_r2=0; //三级延迟reg [3:0] data_r3=0; //4阶段延迟//data_r0always@(posedge clk0) data_r0[0]=#1 data; always @ [ posedge clk 90 ] data _ r0 [1]=#1data; always@(Posedgeclk180 ) data_r0[2]=#1 data; always@(Posedgeclk270 ) data_r0[3]=#1 data; //data_r1always@(posedge clk0) data_r1[0]=#1 data_r0[0]; always@(Posedgeclk0) data_r1[1]=#1 data_r0[1]; always @ [ posedge clk 90 ] data _ R1 [2]=#1data _ r0 [2]; always@(Posedgeclk180 ) data_r1[3]=#1 data_r0[3]; //data_r2always@(posedge clk0) data_r2[0]=#1 data_r1[0]; always@(Posedgeclk0) data_r2[1]=#1 data_r1[1]; always@(Posedgeclk0) data_r2[2]=#1 data_r1[2]; always @ [ posedge clk 90 ] data _ R2 [3]=#1data _ R1 [3]; //data_r3always@(posedge clk0) data_r3[0]=#1 data_r2[0]; always@(Posedgeclk0) data_r3[1]=#1 data_r2[1]; always@(Posedgeclk0) data_r3[2]=#1 data_r2[2]; always@(Posedgeclk0) data_r3[3]=#1 data_r2[3]; 结束模块波形图

请参阅SerDes interface参考设计

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。