写在前面
当我们在小规模的Verilog书写的过程中,每一个模块的功能都是很明确的,也不需要什么分工,比如常见的分频流水灯或者是七段数码管的使用,每一个模块的构思都是很简单的,但在实际中Verilog可不仅仅是写这些小玩意,当形成一个大型状态机——CPU,还是其他的大型项目,模块多起来了就会变得十分棘手。那么当我们遇到一个相对比较大的Verilog项目时,我们应该怎么处理呢?
一些建议
我们一般有几种常见的构思方式,比如从一个个小模块开始,然后构思整体的框架,或者是自顶向下。一般来说自顶向下的方式是最合理的,因为这样能更好的处理好每一个模块的分工。
然后就是要搞清楚Verilog的一些重点:
多模块对同一个变量进行赋值不成立
每一个模块是并行的,而不是像其他高级编程语言一样,属于上面的语句执行完了才开始执行下面的语句(if-else除外)
然后,我们就可以开始进行分工了。
题目描述
在一块板子上,用8位拨码开关和5个按键开关,以及8个七段数码管实现如下记忆小游戏:(直接白嫖指导书了)
- 系统在开机上电或按下复位键(按键S4)时,数码管显示8个“0”,然后等待按键S0被按下;
- 按键S0按下后,系统