|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我在做一个高速DA时,数据率是50M,IO口在输出并行数据(D触发器输出端直接接IOPAD),会出现毛刺现象(在用modsim后仿时发现的),就是在数据发生改变时,每个bit改变时间不同步(我使用了全局时钟)。
观察发现,D触发器输入端数据并没有毛刺,所以可以肯定问题出在时钟上,请问这个问题该如何解决。
FPGA中,时钟的扇出数最多要多大为好?我的CLKP 扇出有72,是不是太多了!
部分代码如下:
module TOP(CLK, RESB, TRIG, CLKP, CLKN, DA, DA_PD,TRIG2);
input CLK;
input RESB;
input TRIG;
output CLKP;
output CLKN;
output [15:0] DA;
output DA_PD;
input TRIG2;
wire [15:0] DA_D; //DDS输出数据
mydds dds10(
.DATA(DATA),
.WE_F(WE_F),
.WE_R(WE_R),
.CLKP(CLKP),
.CE(DDS1_CE),
.ACLR(RES),
.SINE(SINE),
.COSINE(COSINE),
.COSOUT(DA_D)
);
//DA
reg [15:0] DA;
always @(negedge CLKP or posedge RES) //CLKP主时钟
if(RES)
DA<=0;
else
DA<=DA_D;
|
|