在某一射频器件的配置中,写入寄存器数值,在Initialization sequence中间会有好多延迟间隔,如下图怎么用一个计数器,分别计数delay_10,delay_1200,delay_500,delay_100,互不影响,寄存器写入数据,verilog状态机大概描述一下?实习生学习,非常感谢
首先是时、分以及秒的计数问题,对于分和秒的情况,肯定是用模60计数器,但是你能直接计数到59然后清零吗?包括时计数器,一定是模24计数器,但是你能直接计数到23清零吗? 如果没有数码管显示的需求肯定没问题,我用十进制显示,仿真完美! 但是需要数码管显示的话,我们需要6个数码管,时、分以及秒各需要两个!拿小时计数器来说,由于小时就有两个数字,十分位和个位,使用两个数码管显示小时,第一个数码管显示十分位,第二个数码管显示个位!明显是要将十分位和个位分开显示,需要使用8421BCD码计数器来处理。 如果使用十进制的话,10就相当于0xa,如何显示呢?显示0a,这显示是不直观的,你家的时钟用a,b,c等等显示时间计数,你会不会打死设计师呢! 因此,我们使用8421BCD码来进行计数,这一步完成了就解决了80%的问题! 其次,便是数码管显示的问题,数码管显示时、分以及秒需要6个数码管,我们采用动态扫描的方式来显示,也就是控制片选轮流点亮数码管,只要你轮流的速度足够快,肉眼就会认为所有数码管一直亮!
说了那么多,其实就总结为如下两个主要模块!
牛头不对马嘴,可以
您好,我是问答小助手,这边已经帮您转告相关专家团老师,希望能够尽快为您解决问题~