发布网友 发布时间:2022-04-20 22:21
共1个回答
热心网友 时间:2023-05-11 10:12
你要求是下降沿或上升沿的时候读入数据 但你看你写的代码里有时钟沿的描述吗
用了quartus了估计这代码还是用于综合的 所以reg不能放在一个always里用两个沿触发了
按照下面写法(拆成两个always)可以保证功能正确 但是时序分析要注意了 寄存器如果被相反时钟沿触发的寄存器采样相当于时钟频率加倍了 此外对于时钟的占空比也提出了要求 应当尽量接近1:1
always@(negedge Reset or negedge PULSE3)
if(Reset==0)
Reg[3:0]<=0;
else
Reg[3:0]<=code;
always@(negedge Reset or posedge PULSE3)
if(Reset==0)
Reg[7:4]<=0;
else
Reg[7:4]<=code;