1、纽环计数器的真值表当前状态下一个状态B00000100001100011100111101111101111001110001100001其余未列出的状态均为非法状态。根据上面的真值表利用AHDL硬件设计语言就可以在Quartus软件中进行设计。在设计中除了需要满足正常状态的循环计数以外,我们还应该注意计数器进入非法状态后的工作情况,如果进入非法状态系统就不会回到正常工作状态了,这就需要在设计过程中对非法状态进行编程,以便使得系统进入非法状态后能自动回到正常状态。这可以运用AHDL中的CASE语句,把非法状态区分。(程序见附表)编程工作完成后就需要进行编译,运用Quartus软件中的编译工具可
2、以对设计进行编译来检查所编程序的正确与否以便及时修改。编译成功后下一步就是仿真,来验证设计是否满足题目所提出的要求。在设计中Mem表示触发器的输出,T0T9表示计数器在各有效状态时产生的脉冲,这可以作为计数器的解码器表示计数器计数到了那个状态。的通过仿真图可以看见Mem的确是按照真值表的内容输出的,T0T9在每个状态时有且只有一个脉冲输出。可见设计是满足题目需要的。在仿真波形图中我们可以看到若计数器工作在正常循环状态,那么解码器就可以输出瀑布型脉冲来显示当前计数状态。我们可以借此来进行逻辑控制。作为设计最终我们要投入实际工作,所以要对设计工作状态进行必要的时序分析。作为计数器我们要关心它的最大
3、计数频率。因此利用时序分析工具可以看到最大工作频率。由下图可以看见该计数器工作的最大频率为42212MHZ四、试验结论:五位纽环计数器是一种较为简单的逻辑控制的实现,可以根据当前的状态准确地控制下一状态。系统的状态被一系列的组合逻辑所驱动,所以它的工作只有在:输入的驱动功能(存储元件的输出)达到稳定;传播时延(这种时延决定于组合逻辑与存储元件的同步脉冲输出的的时延)之后才能达到稳定。根据分析这就是影响计数器最大频率的因素此外还有有:(时钟建立时间)(时钟保持时间)(时钟到输出延时)这几种时延的长短决定了最大工作频率。通过本次试验,我具体进一步熟悉了Quartus软件的使用,初步掌握了编程技巧,
4、加深了AHDL语言的使用的熟悉程度。进一步了解了时序分析在硬件设计中的重要性。附AHDL源程序SUBDESIGN twist5( clock :INPUT; Mem4.0 :OUTPUT; T9,T8,T7,T6,T5,T4,T3,T2,T1,T0 :)VARIABLE Mem4.0 :DFF;BEGIN Mem4.0.clk=clock; CASE Mem4.0 IS WHEN B00010,B0010001000 = Mem4.0.d=B;1010010010100010110001010010010011000101110101100110110101011001101110011010
5、1011101111101111101 WHEN OTHERS = Mem3.0.d=Mem4.1.q; Mem4.d=!Mem0; END CASE; % GENERATE T0 to T9% IF (Mem4.0=B) THEN T0=VCC; ELSE T0=GND; END IF; T1=VCC; ELSE T1=GND; T2=VCC; ELSE T2=GND; T3=VCC; ELSE T3=GND; T4=VCC; ELSE T4=GND; T5=VCC; ELSE T5=GND; T6=VCC; ELSE T6=GND; T7=VCC; ELSE T7=GND; T8=VCC; ELSE T8=GND; T9=VCC; ELSE T9=GND;END;, Up3ICj4stBs1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1