"随机数生成电路设计与实现 - 数电实验六实验报告总结"

版权申诉
0 下载量 16 浏览量 更新于2024-02-22 收藏 2.64MB DOCX 举报
实验六是关于随机数生成电路的设计与实现。实验的任务要求是设计并实现一个随机数生成电路,每2秒随机生成一个0~999之间的数字,并在数码管上显示生成的随机数。同时为系统设置一个复位键,复位后数码管显示学号后三位(“092”),2秒后再开始每2秒生成并显示随机数,要求使用按键复位。 在电路设计及VHDL代码部分,总体的构思是分模块化设计分模块化实现,顶层采用状态机的方式实现。根据系统所需要的功能,大概可以分为7个模块,包括按键防抖模块,分频器模块(一个2000分频,一个10分频,外部时钟为1kHz),M序列发生器模块,译码模块,位选信号模块,以及顶层。这些模块间的连接关系如图1-1所示。 对于防抖模块,采用100Hz的时钟进行采样型防抖,两个采样点之间为从0变到1时才认为是一次有效的按键发生,同时输出的时候与时钟的下降沿作一个同步。而对于分频模块,则是通过计数器进行分频。通过计数器从0计数到999,实现一次电平的翻转,这样输出的时钟中低电平包含1000个时钟周期。 在M序列发生器模块的设计中,使用了反馈寄存器实现了期望的序列,而译码模块用于将生成的随机数转化为对应的数码管控制信号,从而实现在数码管上的显示。最后,位选信号模块则是用于控制数码管的位选。 实验结果表明,设计的随机数生成电路可以实现每2秒随机生成一个0~999之间的数字,并在数码管上正确地显示生成的随机数。同时,复位键也能够实现预期的功能,即复位后数码管显示学号后三位“092”,2秒后再开始每2秒生成并显示随机数。 通过这次实验,我掌握了基于状态机的电路设计方法,并加深了对分模块化设计的理解。同时,在VHDL代码的编写和模块化实现上也有了更深入的学习和掌握。这次实验不仅让我通过动手实践更深入地理解了数字电路的原理,同时也提高了我的动手能力和实际操作能力。这对于我今后的学习和工作都是非常有益的,我会继续努力学习,不断提高自己的专业能力。