1. 首页
  2. 编程语言
  3. 其他
  4. 北邮数字电路实验六VHDL随机数生成器设计

北邮数字电路实验六VHDL随机数生成器设计

上传者: 2025-06-09 14:56:40上传 ZIP文件 56.28KB 热度 2次

北邮的数字电路实验六,做得还挺有意思的,主打一个“硬核+实用”。核心是用三个不同频率的M 序列发生器,搞出 0 到 999 之间的伪随机数。你每两秒能看到一个新数字,挺适合做入门级的随机逻辑电路练习。

实验用的是VHDL语言,模块化设计写得比较规整。像分频防抖译码这些逻辑都单独抽成组件,用COMPONENT语句调用,连接靠SIGNAL搞定。这种结构,改起来也方便,调试起来心态也不崩。

三个M 序列发生器用的时钟分别是 500、700、900Hz,低频点避免撞值,看起来随机性还不错。每个发生器输出 4 位,三个拼一块刚好 10 位,能覆盖到 0~999。你也可以自己改频率,测试一下输出分布。

显示方面,用的是数码管,驱动靠一个 1kHz 的模三计数器。虽然是轮流点亮,但频率高,人眼看不出来,就像同步刷新一样。再加个译码器,搞定七段码显示,数字也不会乱闪。

细节上还挺贴心的,比如加了防抖电路,按键输入走anti_shake_key模块,稳定得。不然抖一下,随机数就跳个不停,体验拉胯。

另外还设了一个复位功能,按下重置键,数码管立马归零,“000”显示到位。这对调试友好,想从头开始就不用手动断电了。

如果你在搞数字逻辑、玩 VHDL,或者想练练分频+序列+显示的综合设计,这套实验挺值得参考的。需要相关模块的话,下面这些资源你可以直接拿来用:

如果你用的是 1kHz 以上的时钟源,注意分频比别配错,2000 分频后那路要准时触发,影响输出节奏。

下载地址
用户评论