初学FPGA积累的问题
❓1 时间变量的宽度是怎么确定的。
reg [19:0] cnt_time ;//timer counter
🎓: 通过计算大致估算得到的。 如果需要计数的时间是20ms,转化为20000000ns ;周期是50MHz 1÷50000 = 0.00002s = 20ns ,接着用2×10^7 除以20 得:10^6, 再将10^6转换为二进制格式(因为位宽用的二进制)得1111 0100 0010 0100 0000, 一共20位,
❓2 时间长度的单位。
parameter CNT_MAX = 1000_000 - 1; //20ms counter max data
🎓: 20ms ÷ 50Mhz = 1000_000